Pulsuz Go kitabxanası vasitəsilə .docx fayllarını yaradın və təhlil edin
Proqramlaşdırma yolu ilə Microsoft Word-i oxumaq və yazmaq üçün Açıq mənbəli Go Word emalı kitabxanası. Media faylları, şəkillər, mətn, başlıqlar/altbilgilər və cədvəlləri DOCX fayllarına əlavə edin.
Go-Docx Kitabxanası nədir?
Golang inkişafı dünyasında Microsoft Word sənədləri (.docx) ilə işləmək tarixən çətinlik olub. Mövcud kitabxanalardan bir çoxu yalnız "yazma" funksionallığına məhduddur və ya bahalı kommersiya qiymətləri ilə satılır. fumiama tərəfindən saxlanılan Go-Docx bu boşluğu ECMA-376 Office Open XML fayllarını həm oxumaq, həm də yazmaq üçün hazırlanmış ən funksional, açıq mənbəli kitabxanalardan biri olaraq doldurur. Bu, Word fayllarının altında yatan mürəkkəb XML strukturlarını abstrakt edən yüksək səviyyəli API təqdim etdiyi üçün faydalıdır.
Go-Docx-i fərqləndirən, onun geniş xüsusiyyət dəstidir: mətn formatlaşdırması (rəng, ölçü, hizalama), şəkil əlavə etmə, cədvəl manipulyasiyası, formalar, kanvaslar və qruplar. Fakturalar hazırlamaq, tərcümeyi-halların təhlili və ya hesabatların avtomatlaşdırılması üçün bu kitabxana xarici tətbiqləri çağırma yükü olmadan mürəkkəb Office Open XML (ECMA-376) strukturlarını idarə edir. Bu, əvvəlkilərindən əhəmiyyətli dərəcədə inkişaf etmiş icma tərəfindən idarə olunan bir forkdur. UniOffice kimi kommersiya alternativlərindən fərqli olaraq (tam funksionallıq üçün ödəniş tələb edir), Go-Docx AGPL-3.0 lisenziyası altında tamamilə pulsuzdur.
Go-Docx ilə Başlamaq
Go-Docx-i layihənizə əlavə etməyin tövsiyə olunan yolu GitHub istifadə etməkdir. Lütfən, problemsiz quraşdırma üçün aşağıdakı əmri istifadə edin.
Go-Docx-i GitHub vasitəsilə quraşdırın
go get -d github.com/fumiama/go-docx@latest Go vasitəsilə İrəliləmiş Sənəd Yaratma
Go-Docx strukturlu yanaşma istifadə edərək sıfırdan mürəkkəb sənədlər yaratmağa imkan verir. O, sənəd mühitinin ilkinləşdirilməsini, standart mövzular və üslublar daxil olmaqla, idarə edir və yaradılan faylların Microsoft Word və digər müasir proseslərlə tam uyğunluğunu təmin edir. Aşağıdakı sadə nümunə Go tətbiqlərində Word Docx faylı necə yaradılacağını göstərir.
Go kitabxanası vasitəsilə Word Docx fayllarını necə yaratmaq olar?
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()
}
Go API vasitəsilə Ətraflı Sənəd Təhlili
Bir çox rəqiblərin əksinə, açıq mənbəli Go-Docx kitabxanası mövcud faylların oxunmasında üstünlük göstərir. O, .docx faylını təhlil edə və bədən elementləri (paraqraflar, cədvəllər) üzərində iterasiya edə bilər. Bu, məzmunu proqramlaşdırma yolu ilə analiz etməli olduğunuz məlumat çıxarışı və ya sənəd auditləri üçün ideal seçim edir. Aşağıdakı nümunə proqramçılara öz Go tətbiqlərində word sənədlərini necə təhlil edə biləcəyini göstərir.
Go kitabxanası vasitəsilə Word Docx sənədlərini necə təhlil etmək olar?
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)
}
}
}
Go vasitəsilə Docx Fayllarında Dinamik Cədvəl Qurulması
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.
Go kitabxanası vasitəsilə Word faylı içərisində sadə cədvəl necə yaratmaq olar?
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
}
Zəngin Mətn Stilizasiyası və Formatlaşdırma Dəstəyi
Tipografiyaya incə nəzarət bu açıq mənbəli Go kitabxanasının əsas gücüdür. Siz mətn rəngini, şrift ölçüsünü, hizalanmasını dəyişə və hətta Go-Docx vasitəsilə hiperlöğələr və tab dayandırıcıları əlavə edə bilərsiniz. Bu, inkişafçılara əl ilə müdaxilə etmədən müəyyən dizayn tələblərinə uyğun peşəkar, brendlənmiş sənədlər yaratmağa imkan verir.
Go kitabxanası vasitəsilə Word sənədlərinə mətn stilizasiyası və formatlaşdırma necə tətbiq etmək olar?
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")
}