1. Produk
  2.   PDF
  3.   GO
  4.   unipdf  
 
  

Go API untuk Penciptaan & Pemprosesan Dokumen PDF 

Pustaka Go Sumber Terbuka yang memberi pembangun keupayaan untuk Mencipta, Mengedit, Memanipulasi & Menukar Dokumen PDF.

Unipdf ialah pustaka Go Source terbuka yang boleh mengendalikan semua pertanyaan anda yang berkaitan dengan penciptaan dan manipulasi dokumen PDF dengan mudah. Perpustakaan ini tersedia di bawah dua lesen di mana lesen AGPL boleh digunakan untuk pembangunan perisian sumber terbuka. Perpustakaan menyediakan sokongan lengkap untuk menjana dokumen PDF dengan tahap teks, lukisan dan imej yang tinggi.

Pustaka unipdf sumber terbuka menyokong beberapa ciri biasa serta lanjutan untuk memproses dan mengoptimumkan dokumen PDF, seperti membuat laporan PDF, penjanaan laporan PDF, mencipta invois, penciptaan dan pengendalian perenggan, menggabungkan dan memisahkan halaman PDF, halaman berputar, mengekstrak teks daripada Fail PDF, eksport PDF ke CSV, tukar Imej kepada PDF, mampatkan dan optimumkan PDF, fail PDF tera air, sokongan fon komposit (aksara Unicode), tandatangan digital dan banyak lagi.

.

Previous Next

Bermula dengan unipdf

Untuk memasang unipdf pada sistem anda, sila jalankan arahan berikut. 

Pasang gofpdf melalui GitHub

go get github.com/unidoc/unipdf/v3

Untuk kemas kini terbaharu sila lawati halaman keluaran produk .

Jana Laporan PDF melalui Go API

API unipdf sumber terbuka menyediakan keupayaan pembangun untuk membuat laporan PDF dalam aplikasi Go mereka sendiri. Perpustakaan ini membolehkan pembangun bekerja dengan cekap dengan dokumen PDF dan telah menyertakan sokongan untuk menambahkan imej, jadual, pengepala, pengaki dan banyak lagi ke dalam laporan PDF anda dengan mudah. Anda juga boleh meletakkan kandungan dinamik ke dalam laporan PDF anda dengan hanya beberapa baris kod.

Tukar Fail PDF kepada CSV melalui Go API

Pustaka unipdf membolehkan pembangun perisian menukar fail PDF kepada format fail CSV di dalam aplikasi Go mereka sendiri. Penukar PDF ke Excel ialah alat yang sangat berguna untuk institusi perniagaan dan penyelidikan. Ia sangat mudah digunakan dan menyediakan keupayaan untuk mengekstrak TextMarks daripada PDF, dan mengumpulkannya bersama-sama ke dalam perkataan, baris dan lajur untuk pengekstrakan data CSV.

Masukkan Imej ke dalam PDF

API unipdf sumber terbuka memberi pengaturcara perisian keupayaan untuk menambah imej pilihan mereka sendiri ke dalam dokumen PDF di dalam aplikasi GO. Ia menjadikan kerja pembangun lebih mudah semasa meletakkan imej dalam dokumen PDF, tanpa perlu risau tentang koordinat. Anda hanya perlu menyediakan laluan dan saiz imej tanpa perlu risau tentang koordinat. Pustaka telah menyertakan sokongan untuk format imej popular seperti JPEG, PNG, GIF, TIFF dan banyak lagi.

 // Images to PDF.
func imagesToPdf(inputPaths []string, outputPath string) error {
	c := creator.New()
	for _, imgPath := range inputPaths {
		common.Log.Debug("Image: %s", imgPath)
		img, err := c.NewImageFromFile(imgPath)
		if err != nil {
			common.Log.Debug("Error loading image: %v", err)
			return err
		}
		img.ScaleToWidth(612.0)
		// Use page width of 612 points, and calculate the height proportionally based on the image.
		// Standard PPI is 72 points per inch, thus a width of 8.5"
		height := 612.0 * img.Height() / img.Width()
		c.SetPageSize(creator.PageSize{612, height})
		c.NewPage()
		img.SetPos(0, 0)
		_ = c.Draw(img)
	}
	err := c.WriteToFile(outputPath)
	return err
}
  

Tambah Kata Laluan pada Dokumen PDF

API unipdf percuma memberi pembangun kuasa untuk melindungi dokumen PDF mereka dengan menggunakan kata laluan kepada mereka menggunakan arahan Go. Anda boleh menyekat pengguna daripada membuka dan membaca dokumen PDF. Anda juga boleh menetapkan kata laluan pemilik untuk memberikan akses penuh kepada fail PDF. Selain itu, anda juga boleh menyekat pengguna daripada membuat apa-apa jenis perubahan pada bahagian tertentu dokumen PDF.

func protectPdf(inputPath string, outputPath string, userPassword, ownerPassword string) error {
	permissions := security.PermPrinting | // Allow printing with low quality
		security.PermFullPrintQuality |
		security.PermModify | // Allow modifications.
		security.PermAnnotate | // Allow annotations.
		security.PermFillForms |
		security.PermRotateInsert | // Allow modifying page order, rotating pages etc.
		security.PermExtractGraphics | // Allow extracting graphics.
		security.PermDisabilityExtract // Allow extracting graphics (accessibility)
	encryptOptions := &model.EncryptOptions{
		Permissions: permissions,
	}
	f, err := os.Open(inputPath)
	if err != nil {
		return err
	}
	defer f.Close()
	pdfReader, err := model.NewPdfReader(f)
	if err != nil {
		return err
	}
	isEncrypted, err := pdfReader.IsEncrypted()
	if err != nil {
		return err
	}
	if isEncrypted {
		return fmt.Errorf("The PDF is already locked (need to unlock first)")
	}
	// Generate a PdfWriter instance from existing PdfReader.
	pdfWriter, err := pdfReader.ToWriter(nil)
	if err != nil {
		return err
	}
	// Encrypt document before writing to file.
	err = pdfWriter.Encrypt([]byte(userPassword), []byte(ownerPassword), encryptOptions)
	if err != nil {
		return err
	}
	// Write to file.
	err = pdfWriter.WriteToFile(outputPath)
	return err
}
  
 Melayu