1. Продукти
  2.   PDF
  3.   GO
  4.   unipdf  
 
  

Go API за създаване и обработка на PDF документи 

Библиотека Go Go с отворен код, която дава на разработчиците възможността да създават, редактират, манипулират и конвертират PDF документи.

Unipdf е отворена библиотека Source Go, която може лесно да обработва всичките ви заявки, свързани със създаването и манипулирането на PDF документи. Библиотеката се предлага под двоен лиценз, където AGPL лиценз може да се използва за разработка на софтуер с отворен код. Библиотеката осигурява пълна поддръжка за генериране на PDF документи с високо ниво на текст, чертежи и изображения.

Unipdf библиотеката с отворен код поддържа няколко общи, както и разширени функции за обработка и оптимизиране на PDF документи, като създаване на PDF отчети, генериране на PDF отчети, създаване на фактури, създаване и обработка на абзаци, обединяване и разделяне на PDF страници, завъртане на страници, извличане на текст от PDF файлове, експортиране на PDF в CSV, конвертиране на изображения в PDF, компресиране и оптимизиране на PDF, PDF файлове с водни знаци, поддръжка на съставни шрифтове (знаци Unicode), цифрови подписи и много други.

.

Previous Next

Първи стъпки с unipdf

За да инсталирате unipdf във вашата система, моля, изпълнете следната команда. 

Инсталирайте gofpdf чрез GitHub

go get github.com/unidoc/unipdf/v3

За най-новата актуализация, моля, посетете страницата за издания на продукта .

Генерирайте PDF отчет чрез Go API

Unipdf API с отворен код предоставя на разработчиците възможността да създават PDF отчети в техните собствени Go приложения. Библиотеката позволява на разработчиците да работят ефективно с PDF документи и включва поддръжка за лесно добавяне на изображения, таблици, горни и долни колонтитули и много повече във вашите PDF отчети. Можете също така да поставите динамично съдържание във вашите PDF отчети само с няколко реда код.

Конвертирайте PDF файл в CSV чрез Go API

Библиотеката unipdf позволява на разработчиците на софтуер да конвертират PDF файлове в CSV файлови формати в техните собствени Go приложения. Преобразувателите на PDF към Excel са много полезен инструмент за бизнес и изследователски институции. Той е много лесен за използване и предоставя възможност за извличане на TextMarks от PDF и групирането им заедно в думи, редове и колони за извличане на CSV данни.

Вмъкване на изображения в PDF

Unipdf API с отворен код дава на софтуерните програмисти възможността да добавят изображения по свой избор в PDF документи в GO приложения. Това улеснява работата на разработчиците при поставяне на изображения в PDF документа, без да се налага да се притеснявате за координатите. Просто трябва да предоставите пътя и размера на изображението, без да се притеснявате за координатите. Библиотеката включва поддръжка за популярни формати на изображения като JPEG, PNG, GIF, TIFF и други.

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

Добавете парола към PDF документи

Безплатният unipdf API дава на разработчиците силата да защитават своите PDF документи, като прилагат парола към тях с помощта на Go команди. Можете да ограничите потребителите да отварят и четат PDF документи. Можете също така да зададете паролата на собственика, за да предоставите пълен достъп до PDF файла. Освен това можете също да ограничите потребителите да правят каквито и да било промени в определени части от 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
}
  
 Български