1. Produkti
  2.   Tekstapstrāde
  3.   GO
  4.   Go-Docx
 
  

Ģenerējiet un parsējiet .docx failus, izmantojot bezmaksas Go bibliotēku

Atvērtā koda Go vārdu apstrādes bibliotēka, lai programmatiski lasītu un rakstītu Microsoft Word. Ievietojiet multivides failus, attēlus, tekstu, galvenes/kājenes un tabulas DOCX failos.

Kas ir Go-Docx bibliotēka?

Golang izstrādes pasaulē Microsoft Word dokumentu (.docx) apstrāde tradicionāli ir bijusi izaicinājums. Daudzas esošās bibliotēkas ir ierobežotas tikai ar \"rakstīšanas\" funkcionalitāti vai nāk ar augstu komerciālu cenu. Go-Docx (uzrauga fumiama) aizpilda šo plaisu kā viena no funkcionālākajām atvērtā koda bibliotēkām, kas paredzēta gan lasīt, gan rakstīt ECMA-376 Office Open XML failus. Tā ir noderīga, jo nodrošina augsta līmeņa API, kas abstraktē Word failu sarežģītās XML struktūras.

Kas izceļ Go-Docx ir tā visaptverošais funkciju komplekts: teksta formatēšana (krāsa, izmērs, izlīdzināšana), attēlu ievietošana, tabulu manipulācija, formas, audekli un grupas. Neatkarīgi no tā, vai ģenerējat rēķinus, parsējat CV vai automatizējat pārskatu izveidi, šī bibliotēka apstrādā sarežģītas Office Open XML (ECMA-376) struktūras, neizsaucot ārējās lietotnes. Tā ir kopienas vadīta atzars, kas būtiski ir attīstījusies no saviem priekšgājējiem. Atšķirīgi no komerciālām alternatīvām, piemēram, UniOffice (kas pieprasa maksājumu par pilnām funkcijām), Go-Docx ir pilnīgi bezmaksas saskaņā ar AGPL-3.0 licenci.

Previous Next

Sākums ar Go-Docx

Ieteicamā veida, kā pievienot Go-Docx jūsu projektam, ir izmantojot GitHub. Lūdzu, izmantojiet šo komandu, lai veiktu vienkāršu instalāciju.

Instalējiet Go-Docx caur GitHub

go get -d github.com/fumiama/go-docx@latest 

Uzlabota dokumentu ģenerēšana ar Go

Go-Docx ļauj izveidot sarežģītus dokumentus no nulles, izmantojot strukturētu pieeju. Tas pārvalda dokumenta vides inicializāciju, ieskaitot noklusējuma tēmas un stilus, nodrošinot, ka jūsu ģenerētie faili ir pilnībā saderīgi ar Microsoft Word un citiem modernajiem apstrādātājiem. Šeit ir vienkāršs piemērs, kas parāda, kā ģenerēt Word Docx failu Go lietojumprogrammās.

Kā ģenerēt Word Docx failus, izmantojot Go bibliotēku?

package main
import (
	"os"
	"github.com/fumiama/go-docx"
)

func main() {
	// Initialize a new document with a default theme
	w := docx.New().WithDefaultTheme()
	
	// Add a paragraph and basic text
	para := w.AddParagraph()
	para.AddText("Hello, this is a generated document!")

	// Save to local file
	f, _ := os.Create("simple.docx")
	w.WriteTo(f)
	f.Close()
}

Visaptveroša dokumentu parsēšana, izmantojot Go API

Atšķirībā no daudziem konkurentiem, atvērtā koda Go-Docx bibliotēka izcila lasīt esošus failus. Tā var parsēt .docx failu un pārskatīt tā ķermeņa elementus, piemēram, rindkopas un tabulas. Tas padara to par ideālu izvēli datu izguvei vai dokumentu audita uzdevumiem, kur nepieciešams programmatiski analizēt saturu. Zemāk esošais piemērs parāda, kā programmatūras izstrādātāji var parsēt Word dokumentus savās Go lietojumprogrammās.

Kā parsēt Word Docx dokumentus, izmantojot Go bibliotēku?

package main
import (
	"fmt"
	"os"
	"github.com/fumiama/go-docx"
)

func main() {
	readFile, _ := os.Open("existing.docx")
	info, _ := readFile.Stat()
	
	// Parse the file using its reader and size
	doc, _ := docx.Parse(readFile, info.Size())
	
	for _, item := range doc.Document.Body.Items {
		if p, ok := item.(*docx.Paragraph); ok {
			fmt.Println("Paragraph found:", p)
		}
	}
}

Dinamiski tabulu izveidošana Docx failos, izmantojot Go

Open source Go-Docx library has included support for the creation and manipulation of tables, including nested tables—a feature often missing in simpler libraries. You can define rows, cells, and specific border styles, making it highly effective for generating financial reports, invoices, or data-heavy technical documentation. Here is a very useful code example that shows how to create a table inside Word documents via Go commands.

Kā izveidot vienkāršu tabulu Word failā, izmantojot Go bibliotēku?

func createTable(w *docx.Docx) {
	table := w.AddTable(2, 2) // Create a 2x2 table
	row := table.Rows[0]
	cell := row.Cells[0]
	
	p := cell.AddParagraph()
	p.AddText("Cell Content")
	
	// You can also adjust table properties here
}

Bagāta teksta stilizācijas un formatēšanas atbalsts

Precīza tipogrāfijas kontrole ir šīs atvērtā koda Go bibliotēkas galvenais spēks. Jūs varat mainīt teksta krāsu, fonta lielumu, izlīdzinājumu, kā arī pievienot hipersaites vai tabulācijas pieturas ar Go-Docx. Tas ļauj izstrādātājiem ģenerēt profesionālus, zīmola dokumentus, kas atbilst konkrētām dizaina prasībām, nepievēršoties manuālai iejaukšanai.

Kā piemērot teksta stilizāciju un formatēšanu Word dokumentiem, izmantojot Go bibliotēku?

func styleText(w *docx.Docx) {
	para := w.AddParagraph()
	// Chain styling methods for concise code
	para.AddText("Important Header").Size("32").Color("FF0000")
	para.AddText("Subtext").Italic().Bold()
	
	// Add a link
	para.AddLink("Visit Website", "https://example.com")
}
 Latviski