1. Các sản phẩm
  2.   PDF
  3.   GO
  4.   unipdf  
 
  

Truy cập API để tạo và xử lý tài liệu PDF 

Thư viện mã nguồn mở Go cung cấp cho các nhà phát triển khả năng Tạo, Chỉnh sửa, Thao tác và Chuyển đổi Tài liệu PDF.

Unipdf là một thư viện Nguồn Go mở có thể dễ dàng xử lý tất cả các truy vấn của bạn liên quan đến việc tạo và thao tác tài liệu PDF. Thư viện có sẵn theo giấy phép kép, nơi giấy phép AGPL có thể được sử dụng để phát triển phần mềm nguồn mở. Thư viện cung cấp hỗ trợ hoàn chỉnh để tạo tài liệu PDF với mức độ cao của văn bản, hình vẽ và hình ảnh.

Thư viện unipdf mã nguồn mở hỗ trợ một số tính năng phổ biến cũng như nâng cao để xử lý và tối ưu hóa tài liệu PDF, chẳng hạn như tạo báo cáo PDF, tạo báo cáo PDF, tạo hóa đơn, tạo và xử lý đoạn văn, hợp nhất và chia nhỏ các trang PDF, xoay trang, trích xuất văn bản từ Tệp PDF, xuất PDF sang CSV, chuyển đổi Hình ảnh sang PDF, nén và tối ưu hóa PDF, tệp PDF watermark, hỗ trợ phông chữ tổng hợp (ký tự Unicode), chữ ký số và nhiều hơn nữa.

.

Previous Next

Bắt đầu với unipdf

Để cài đặt unipdf trên hệ thống của bạn, vui lòng chạy lệnh sau. 

Cài đặt gofpdf qua GitHub

go get github.com/unidoc/unipdf/v3

Để có bản cập nhật mới nhất, vui lòng truy cập trang phát hành của sản phẩm.

Tạo Báo cáo PDF qua API Go

API unipdf mã nguồn mở cung cấp cho các nhà phát triển khả năng tạo báo cáo PDF bên trong các ứng dụng Go của riêng họ. Thư viện cho phép các nhà phát triển làm việc hiệu quả với các tài liệu PDF và đã bao gồm hỗ trợ để thêm hình ảnh, bảng, đầu trang, chân trang và nhiều thứ khác vào báo cáo PDF của bạn một cách dễ dàng. Bạn cũng có thể đặt nội dung động vào các báo cáo PDF của mình chỉ với một vài dòng mã.

Chuyển đổi tệp PDF sang CSV thông qua API Go

Thư viện unipdf cho phép các nhà phát triển phần mềm chuyển đổi tệp PDF sang định dạng tệp CSV bên trong ứng dụng Go của riêng họ. Trình chuyển đổi PDF sang Excel là một công cụ rất hữu ích cho các tổ chức kinh doanh và nghiên cứu. Nó rất dễ sử dụng và cung cấp khả năng trích xuất TextMark từ PDF và nhóm chúng lại với nhau thành các từ, hàng và cột để trích xuất dữ liệu CSV.

Chèn hình ảnh vào PDF

API unipdf mã nguồn mở cung cấp cho các nhà lập trình phần mềm khả năng thêm hình ảnh mà họ lựa chọn vào tài liệu PDF bên trong ứng dụng GO. Nó làm cho công việc của nhà phát triển dễ dàng hơn trong khi đặt hình ảnh trong tài liệu PDF mà không phải lo lắng về tọa độ. Bạn chỉ cần cung cấp đường dẫn và kích thước hình ảnh mà không cần lo lắng về tọa độ. Thư viện đã bao gồm hỗ trợ cho các định dạng hình ảnh phổ biến như JPEG, PNG, GIF, TIFF, v.v.

 // 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
}
  

Thêm mật khẩu vào tài liệu PDF

API unipdf miễn phí cung cấp cho các nhà phát triển sức mạnh để bảo vệ tài liệu PDF của họ bằng cách áp dụng mật khẩu cho chúng bằng lệnh Go. Bạn có thể hạn chế người dùng mở và đọc tài liệu PDF. Bạn cũng có thể đặt mật khẩu chủ sở hữu để cấp toàn quyền truy cập vào tệp PDF. Hơn nữa, bạn cũng có thể hạn chế người dùng thực hiện bất kỳ loại thay đổi nào đối với các phần nhất định của tài liệu 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
}
  
 Tiếng Việt