1. Produkter
  2.   Ordbehandling
  3.   GO
  4.   WordZero
 
  

Kraftfullt open-source-ordbehandlingsbibliotek för Go

Open source Golang-bibliotek för Word-dokumentautomatisering med mallar, tabeller, stilar, sidhuvuden, sidfötter och DOCX-generering.

Vad är WordZero?

wordZero är ett open‑source Golang‑bibliotek utformat för att programatiskt skapa, läsa, redigera och hantera Microsoft Word DOCX‑dokument. Det erbjuder ett rent API som låter utvecklare generera professionella rapporter, fakturor, kontrakt, dokumentation och andra affärsdokument direkt från Go‑applikationer. Biblioteket är byggt kring Office Open XML (OOXML)‑standarden och erbjuder omfattande funktioner för dokumentmanipulation, inklusive textformatering, styckeformat, tabellskapande, bildinfogning, sidhuvuden, sidfötter, listor, mallar och generering av innehållsförteckning. Dess arkitektur fokuserar på prestanda, flexibilitet och användarvänlighet, vilket gör det lämpligt för både små projekt och företagsnivåer för dokumentautomatisering.

Moderna applikationer kräver ofta automatiserad dokumentgenerering. Oavsett om du bygger rapporteringssystem, kunddokumentportaler, HR‑hanteringsplattformar eller fakturageneratorer, kan manuell skapande av Word‑dokument vara tidskrävande och felbenäget. wordZero löser denna utmaning genom att låta utvecklare generera fullt formaterade DOCX‑filer direkt från kod. Biblioteket stödjer strukturerad dokumentskapande, återanvändbara mallar, avancerad formatering och dynamisk innehållsgenerering. Detta minskar manuellt arbete, förbättrar konsistensen och hjälper organisationer att automatisera dokumenttunga arbetsflöden effektivt. Dessutom gör stödet för stilar, tabeller, sidhuvuden, sidfötter och dokumentmetadata det möjligt att skapa professionella dokument som nära liknar manuellt skapade Word‑filer.

Previous Next

Komma igång med wordZero

Det rekommenderade sättet att installera wordZero i ditt projekt är att använda GitHub. Använd följande kommando för en smidig installation.

Installera wordZero via GitHub

go get github.com/zerx-lab/wordZero

Skapa och spara Word-dokument via Go API

Ett av de grundläggande funktionerna i wordZero är dess förmåga att skapa Word-dokument från grunden. Utvecklare kan initiera ett nytt dokument, lägga till innehåll och spara det som en DOCX-fil med några få kodrader. Denna funktion är extremt användbar för automatiserade rapporteringssystem, dokumentgenereringstjänster och applikationer som behöver exportera användardata till Microsoft Word-format. Eftersom biblioteket hanterar OOXML-paketering internt kan utvecklare fokusera på innehållsskapande snarare än att hantera komplexa dokumentstrukturer.

Hur skapar man DOCX-filer programatiskt via Go-biblioteket?

package main

import  ( 
	"github.com/ZeroHawkeye/wordZero/pkg/document" 
)

func main() { 
	doc := document.New() 
	
	doc.AddParagraph("Welcome to wordZero!") 
	
	err := doc.Save("sample.docx")
	 if err != nil {
	 panic(err) 
	}
  }
 

Avancerad mallmotor med arv

WordZeros mallmotor förändrar hur du genererar dynamiska dokument. Till skillnad från enkel strängersättning stöder den blockbaserad arv, villkorlig rendering, loopar och bildplatshållare. Detta innebär att du kan skapa basmallar (sidhuvuden, sidfötter, varumärkesriktlinjer) och utöka dem för specifika användningsfall som försäljningsrapporter eller fakturor. Det är mycket användbart för att eliminera kodduplicering och separera innehåll från presentation. Marknadsföringsteam kan uppdatera mallar utan utvecklares ingripande.

Hur genererar man dynamiska dokument via mallar i Go-appar?

package main

import (
    "log"
    "github.com/zerx-lab/wordZero/pkg/document"
)

func main() {
    engine := document.NewTemplateEngine()
    
    // Base template with reusable blocks
    baseTemplate := `{{companyName}} Report
{{#block "summary"}}Default summary{{/block}}
{{#block "content"}}Default content{{/block}}`
    
    engine.LoadTemplate("base", baseTemplate)
    
    // Child template overriding specific blocks
    salesTemplate := `{{extends "base"}}
{{#block "summary"}}
Sales: {{revenue}} USD | Growth: {{growth}}%
{{/block}}`
    
    engine.LoadTemplate("sales", salesTemplate)
    
    data := document.NewTemplateData()
    data.SetVariable("companyName", "Acme Corp")
    data.SetVariable("revenue", "125000")
    data.SetVariable("growth", "15")
    
    doc, _ := engine.RenderTemplateToDocument("sales", data)
    doc.Save("quarterly_report.docx")
}
 

Dynamisk hantering av inhemska bilder och automatisk skalning

Att integrera resurser som diagram, organisationsvarumärken eller fotografier kräver strikt layout‑hantering för att undvika att förstöra textomslag. Det öppna källkods‑biblioteket wordZero har enkla inbyggda omslag som accepterar bildinmatning direkt från fysiska systemvägar eller minnes‑byte‑arrayer ([]byte). Biblioteket upptäcker automatiskt bildförhållanden, vilket möjliggör funktioner som automatisk anpassning av bilder till marginaler eller explicita pixelbegränsningar.

Hur hanterar man bilder i Word-dokument via Go-biblioteket?

package main

import (
	"log"
	"github.com/zerx-lab/wordZero/pkg/document"
)

func main() {
	doc := document.New()
	doc.AddParagraph("Visual Asset Documentation Summary")

	// Insert an image path from your local deployment setup
	image, err := doc.AddImageFromFile("company_logo.png")
	if err != nil {
		log.Fatalf("Unable to discover or parse local asset: %v", err)
	}

	// Constrain the target image properties while auto-fitting column margins safely
	image.SetWidth(350)
	image.FitToPageWidth()

	if err := doc.Save("image_report.docx"); err != nil {
		log.Fatalf("Error saving file payload: %v", err)
	}
}

Direktkonverteringar från Markdown till Word via Ruby-bibliotek?

I decentraliserade publiceringspipeline är Markdown ofta det föredragna valet för att skriva innehåll, medan Word krävs för företagsdistribution. wordZero svarar på detta behov med en dedikerad, inbyggd dubbelkonverteringsmodul. Den parsar standardrubriker, inline‑parametrar (fetstil, kursiv, kodtaggar), listor och länkar direkt från grundläggande Markdown‑källblock och översätter dem rent in i professionella OOXML‑dokumentträd.

Hur gör man Markdown-till-Word-omvandling via Go-biblioteket?

package main

import (
	"log"
	"github.com/zerx-lab/wordZero/pkg/markdown"
)

func main() {
	// Initialize a standard options Markdown converter block
	converter := markdown.NewConverter(markdown.DefaultOptions())

	// Define raw text variables highlighting structured Markdown elements
	markdownContent := `
# Project Documentation
Welcome to automated generation.
## Features Included
- **High-Performance Compilation** via native Go routines.
- Clean nested element styling hooks.`

	// Process raw strings directly into a formatted .docx file
	err := converter.ConvertStringToFile(markdownContent, "markdown_transformed.docx")
	if err != nil {
		log.Fatalf("Markdown parsing pipeline encounter error: %v", err)
	}
}
 Svenska