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