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

Go API per la creazione e l'elaborazione di documenti PDF 

Open Source Go Library che offre agli sviluppatori la possibilità di creare, modificare, manipolare e convertire documenti PDF.

Unipdf è una libreria Go open source che può gestire facilmente tutte le tue domande relative alla creazione e manipolazione di documenti PDF. La libreria è disponibile con doppia licenza in cui la licenza AGPL può essere utilizzata per lo sviluppo di software open source. La libreria fornisce un supporto completo per la generazione di documenti PDF con un alto livello di testo, disegni e immagini.

La libreria unipdf open source supporta diverse funzionalità comuni e avanzate per l'elaborazione e l'ottimizzazione di documenti PDF, come la creazione di report PDF, la generazione di report PDF, la creazione di fatture, la creazione e la gestione di paragrafi, l'unione e la divisione di pagine PDF, la rotazione di pagine, l'estrazione di testo da File PDF, esporta PDF in CSV, converti immagini in PDF, comprimi e ottimizza PDF, filigrana file PDF, supporto per font compositi (caratteri Unicode), firme digitali e molti altri.

.

Previous Next

Per iniziare con unipdf

Per installare unipdf sul tuo sistema, esegui il seguente comando. 

Installa gofpdf tramite GitHub

go get github.com/unidoc/unipdf/v3

Per l'ultimo aggiornamento, visita la pagina delle versioni del prodotto .

Genera report PDF tramite Go API

L'API unipdf open source offre agli sviluppatori la possibilità di creare report PDF all'interno delle proprie applicazioni Go. La libreria consente agli sviluppatori di lavorare in modo efficiente con i documenti PDF e include il supporto per aggiungere facilmente immagini, tabelle, intestazioni, piè di pagina e molto altro nei tuoi report PDF. Puoi anche inserire contenuto dinamico nei tuoi rapporti PDF con solo un paio di righe di codice.

Converti file PDF in CSV tramite Go API

La libreria unipdf consente agli sviluppatori di software di convertire file PDF in formati di file CSV all'interno delle proprie applicazioni Go. I convertitori da PDF a Excel sono uno strumento molto utile per le imprese e gli istituti di ricerca. È molto facile da usare e offre la possibilità di estrarre TextMarks da PDF e raggrupparli in parole, righe e colonne per l'estrazione di dati CSV.

Inserisci immagini in PDF

L'API unipdf open source offre ai programmatori di software la possibilità di aggiungere immagini a loro scelta in documenti PDF all'interno delle applicazioni GO. Semplifica il lavoro degli sviluppatori durante l'inserimento delle immagini nel documento PDF, senza doversi preoccupare delle coordinate. Devi solo fornire il percorso e le dimensioni dell'immagine senza preoccuparti delle coordinate. La libreria include il supporto per i formati di immagine più diffusi come JPEG, PNG, GIF, TIFF e altri.

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

Aggiungi password ai documenti PDF

L'API unipdf gratuita offre agli sviluppatori il potere di proteggere i propri documenti PDF applicando loro una password utilizzando i comandi Go. Puoi impedire agli utenti di aprire e leggere documenti PDF. Puoi anche impostare la password del proprietario per garantire l'accesso completo al file PDF. Inoltre, puoi anche impedire agli utenti di apportare qualsiasi tipo di modifica a determinate parti dei documenti 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
}
  
 Italiano