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

Gå til API for oppretting og behandling av PDF-dokumenter 

Open Source Go-bibliotek som gir utviklere muligheten til å opprette, redigere, manipulere og konvertere PDF-dokumenter.

unipdf er et Go-bibliotek med åpen kildekode som enkelt kan håndtere alle dine spørsmål knyttet til oppretting og manipulering av PDF-dokumenter. Biblioteket er tilgjengelig under dobbel lisens der AGPL-lisens kan brukes til utvikling av åpen kildekode. Biblioteket gir full støtte for å generere PDF-dokumenter med et høyt nivå av tekst, tegninger og bilder.

Unipdf-biblioteket med åpen kildekode støtter flere vanlige så vel som avanserte funksjoner for behandling og optimalisering av PDF-dokumenter, som å lage PDF-rapporter, generering av PDF-rapporter, opprette fakturaer, opprette og behandle avsnitt, slå sammen og dele PDF-sider, rotere sider, trekke ut tekst fra PDF-filer, eksporter PDF til CSV, konverter bilder til PDF, komprimer og optimaliser PDF, vannmerke PDF-filer, støtte for sammensatte fonter (Unicode-tegn), digitale signaturer og mange flere.

.

Previous Next

Komme i gang med unipdf

For å installere unipdf på systemet ditt, kjør følgende kommando. 

Installer gofpdf via GitHub

go get github.com/unidoc/unipdf/v3

For den siste oppdateringen, besøk produkt utgivelsessiden.

Generer PDF-rapport via Go API

Åpen kildekode unipdf API gir utviklere muligheten til å lage PDF-rapporter i sine egne Go-applikasjoner. Biblioteket lar utviklere effektivt arbeide med PDF-dokumenter og har inkludert støtte for å legge til bilder, tabeller, topptekster, bunntekster og mye mer i PDF-rapportene dine på en enkel måte. Du kan også plassere dynamisk innhold i PDF-rapportene dine med bare et par linjer med kode.

Konverter PDF-fil til CSV via Go API

unipdf-biblioteket gjør det mulig for programvareutviklere å konvertere PDF-filer til CSV-filformater i sine egne Go-applikasjoner. PDF til Excel-konverterere er et veldig nyttig verktøy for næringsliv og forskningsinstitusjoner. Det er veldig enkelt å bruke og gir muligheten til å trekke ut tekstmerker fra PDF og gruppere dem i ord, rader og kolonner for CSV-datautvinning.

Sett inn bilder i PDF

Open source unipdf API gir programvareprogrammerere muligheten til å legge til bilder etter eget valg i PDF-dokumenter i GO-applikasjoner. Det gjør utviklerjobbene enklere mens du plasserer bilder i PDF-dokumentet, uten å måtte bekymre deg for koordinater. Du trenger bare å oppgi bildebanen og størrelsen uten å bekymre deg for koordinatene. Biblioteket har inkludert støtte for populære bildeformater som JPEG, PNG, GIF, TIFF og mer.

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

Legg til passord i PDF-dokumenter

Den gratis unipdf API gir utviklere muligheten til å beskytte PDF-dokumentene sine ved å bruke et passord på dem ved å bruke Go-kommandoer. Du kan begrense brukere fra å åpne og lese PDF-dokumenter. Du kan også angi eierpassordet for å gi full tilgang til PDF-filen. Dessuten kan du også begrense brukere fra å gjøre noen form for endringer i visse deler av PDF-dokumenter.

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