1. Ürün:% s
  2.   Kelime İşleme
  3.   GO
  4.   unioffice
 
  

MS Word Belgelerini Oluşturmak ve Düzenlemek için Kitaplık'a gidin

Üstbilgi ve Altbilgi, Tablolar ve Resimlerin Word DOCX dosyalarına ve daha fazlasına eklenmesi gibi yaygın Kelime İşleme görevlerini Yönetmek ve Otomatikleştirmek için Açık Kaynak Go Kitaplığı.

unioffice, yazılım geliştiricilerin Microsoft Word gerektirmeden sözcük belgelerini yönetmelerine ve ortak sözcük işleme görevlerini kendi uygulamaları içinde kolaylıkla otomatikleştirmelerine olanak tanıyan güçlü bir açık kaynak kodlu Go kitaplığıdır. Kitaplık oldukça iyi optimize edilmiştir ve gereksinimlerinizi karşılamak için kodu kolayca düzenlemenize olanak tanır.

Unioffice kitaplığı, Office Open XML belgelerinin oluşturulması, düzenlenmesi, biçimlendirilmesi ve işlenmesi için kullanılabilecek güçlü bir Go tabanlı kitaplıktır. Kitaplık, Word belgelerini okuma, yazma ve değiştirme, Metin Biçimlendirme desteği, Otomatik oluşturulan içindekiler tablosu, Belge sayfasına yerleştirme, üstbilgi ve altbilgi ekleme, tablo ekleme, Bir belgeyi şablon olarak açma gibi birçok önemli kelime işlem özelliğini destekler. , form alanları desteği ve çok daha fazlası.

Previous Next

unioffice'e Başlarken

Unioffice'i projenize yüklemenin önerilen yolu GitHub'ı kullanmaktır. Sorunsuz bir kurulum için lütfen aşağıdaki komutu kullanın.

Unioffice'i GitHub aracılığıyla kurun

go get github.com/unidoc/unioffice/
go build -i github.com/unidoc/unioffice/...   

Go API ile Word DOCX Belgesi Oluşturun

Açık kaynak kitaplığı unioffice, kolaylıkla yeni bir Word DOCX Belgesi oluşturma olanağı sağlamıştır. Ayrıca mevcut bir Microsoft Word Belgesini kendi uygulamalarınızın içinde kolayca açıp değiştirebilirsiniz. Kitaplık ayrıca yeni metin paragrafları ekleme, bir sayfaya resim ekleme, metin hizalama, üstbilgi ve altbilgi ekleme, tablo ekleme ve daha pek çok özellik içeriyordu.

Access Word Document Properties via Go API

func main() {
	doc, err := document.Open("document.docx")
	if err != nil {
		log.Fatalf("error opening document: %s", err)
	}
	defer doc.Close()
	cp := doc.GetOrCreateCustomProperties()
	// You can read properties from the document
	fmt.Println("AppVersion", *cp.GetPropertyByName("AppVersion").X().Lpwstr)
	fmt.Println("Company", *cp.GetPropertyByName("Company").X().Lpwstr)
	fmt.Println("DocSecurity", *cp.GetPropertyByName("DocSecurity").X().I4)
	fmt.Println("LinksUpToDate", *cp.GetPropertyByName("LinksUpToDate").X().Bool)
	fmt.Println("Non-existent", cp.GetPropertyByName("nonexistentproperty"))
	// And change them as well
	cp.SetPropertyAsLpwstr("Company", "Another company") // text, existing property
	fmt.Println("Company", *cp.GetPropertyByName("Company").X().Lpwstr)
	// Adding new properties
	cp.SetPropertyAsLpwstr("Another text property", "My text value") // text
	cp.SetPropertyAsI4("Another integer number property", 42)        // int32
	cp.SetPropertyAsR8("Another float number property", 3.14)        // float64
	cp.SetPropertyAsDate("Another date property", time.Now())        // date
	doc.SaveToFile("document_customized.docx")
	// For new documents all is the same
	docNew := document.New()
	defer docNew.Close()
	cpNew := docNew.GetOrCreateCustomProperties()
	cpNew.SetPropertyAsLpwstr("Another text property", "My text value") // text
	cpNew.SetPropertyAsI4("Another integer number property", 42)        // int23
	cpNew.SetPropertyAsR8("Another float number property", 3.14)        // float64
	cpNew.SetPropertyAsDate("Another date property", time.Now())        // date
	docNew.SaveToFile("document_new.docx")
}
  

 Word DOCX Dosyalarına Resim Ekleme

Açık kaynak kitaplığı unioffice, yazılım geliştiricilere Microsoft Word belgelerindeki görüntüleri kullanma yeteneği sağlar. Seçtiğiniz yere resim ekleme, mevcut bir resmi değiştirme, resmin etrafına metin sarma, resmi silme ve daha pek çok işlevi destekler. Bir resim eklemek için resmin adını ve yerini belirtmek gerekir.

Go API aracılığıyla Word Belgelerini Yönetin

func main() {
	doc := document.New()
	defer doc.Close()
	img1, err := common.ImageFromFile("gophercolor.png")
	if err != nil {
		log.Fatalf("unable to create image: %s", err)
	}
	img2data, err := ioutil.ReadFile("gophercolor.png")
	if err != nil {
		log.Fatalf("unable to read file: %s", err)
	}
	img2, err := common.ImageFromBytes(img2data)
	if err != nil {
		log.Fatalf("unable to create image: %s", err)
	}
	img1ref, err := doc.AddImage(img1)
	if err != nil {
		log.Fatalf("unable to add image to document: %s", err)
	}
	img2ref, err := doc.AddImage(img2)
	if err != nil {
		log.Fatalf("unable to add image to document: %s", err)
	}
	para := doc.AddParagraph()
	anchored, err := para.AddRun().AddDrawingAnchored(img1ref)
	if err != nil {
		log.Fatalf("unable to add anchored image: %s", err)
	}
	anchored.SetName("Gopher")
	anchored.SetSize(2*measurement.Inch, 2*measurement.Inch)
	anchored.SetOrigin(wml.WdST_RelFromHPage, wml.WdST_RelFromVTopMargin)
	anchored.SetHAlignment(wml.WdST_AlignHCenter)
	anchored.SetYOffset(3 * measurement.Inch)
	anchored.SetTextWrapSquare(wml.WdST_WrapTextBothSides)
	run := para.AddRun()
	for i := 0; i < 16; i++ {
		run.AddText(lorem)
		// drop an inline image in
		if i == 13 {
			inl, err := run.AddDrawingInline(img1ref)
			if err != nil {
				log.Fatalf("unable to add inline image: %s", err)
			}
			inl.SetSize(1*measurement.Inch, 1*measurement.Inch)
		}
		if i == 15 {
			inl, err := run.AddDrawingInline(img2ref)
			if err != nil {
				log.Fatalf("unable to add inline image: %s", err)
			}
			inl.SetSize(1*measurement.Inch, 1*measurement.Inch)
		}
	}
	doc.SaveToFile("image.docx")
}
  

Word Belgesine Üstbilgi ve Altbilgi Ekleme

Üstbilgiler ve altbilgiler, yazar adı, belge başlığı veya sayfa numaraları gibi kullanıcıların bir belgenin her sayfasında görünmesini istedikleri bilgileri eklemek için kullanılabilir. Unioffice kitaplığı, yazılım geliştiricilerin sözcük belgelerine kolaylıkla üstbilgi ve altbilgi eklemesine olanak tanır. Ayrıca, belge bölümüne bağlı olarak farklı üstbilgi ve altbilgilere sahip olmanızı sağlar. Ayrıca çift, tek ve ilk işlevler için destek içeriyordu.

Add Header & Footer to Word Document via Go API

func main() {
	doc := document.New()
	defer doc.Close()
	img, err := common.ImageFromFile("gophercolor.png")
	if err != nil {
		log.Fatalf("unable to create image: %s", err)
	}
	hdr := doc.AddHeader()
	// We need to add a reference of the image to the header instead of to the
	// document
	iref, err := hdr.AddImage(img)
	if err != nil {
		log.Fatalf("unable to to add image to document: %s", err)
	}
	para := hdr.AddParagraph()
	para.Properties().AddTabStop(2.5*measurement.Inch, wml.ST_TabJcCenter, wml.ST_TabTlcNone)
	run := para.AddRun()
	run.AddTab()
	run.AddText("My Document Title")
	imgInl, _ := para.AddRun().AddDrawingInline(iref)
	imgInl.SetSize(1*measurement.Inch, 1*measurement.Inch)
	// Headers and footers are not immediately associated with a document as a
	// document can have multiple headers and footers for different sections.
	doc.BodySection().SetHeader(hdr, wml.ST_HdrFtrDefault)
	ftr := doc.AddFooter()
	para = ftr.AddParagraph()
	para.Properties().AddTabStop(6*measurement.Inch, wml.ST_TabJcRight, wml.ST_TabTlcNone)
	run = para.AddRun()
	run.AddText("Some subtitle goes here")
	run.AddTab()
	run.AddText("Pg ")
	run.AddField(document.FieldCurrentPage)
	run.AddText(" of ")
	run.AddField(document.FieldNumberOfPages)
	doc.BodySection().SetFooter(ftr, wml.ST_HdrFtrDefault)
	lorem := `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin lobortis, lectus dictum feugiat tempus, sem neque finibus enim, sed eleifend sem nunc ac diam. Vestibulum tempus sagittis elementum`
	for i := 0; i < 5; i++ {
		para = doc.AddParagraph()
		run = para.AddRun()
		run.AddText(lorem)
	}
	doc.SaveToFile("header-footer.docx")
}
  

Word DOCX'te Tablolarla Çalışmak

Açık kaynak kitaplık unioffice, bilgisayar programcılarının kelime belgelerine tablolar eklemesine ve değiştirmesine olanak tanır. Tablolar çok kullanışlıdır ve verileri daha iyi bir şekilde düzenlemek ve sunmak için kullanılabilir. Kenarlıklı ve kenarlıksız tablo eklemeyi destekler ve kolaylıkla bir tablo stili oluşturmaya izin verir. İçeriği kolayca bir tabloya yerleştirebilir ve boyutunu ihtiyaçlarınıza göre ayarlayabilirsiniz.

 Türkçe