Eikite į API PDF dokumentų kūrimui ir apdorojimui
Atvirojo kodo „Go“ biblioteka, kuri suteikia kūrėjams galimybę kurti, redaguoti, manipuliuoti ir konvertuoti PDF dokumentus.
Unipdf yra atvirojo šaltinio Go biblioteka, kuri gali lengvai tvarkyti visas jūsų užklausas, susijusias su PDF dokumentų kūrimu ir manipuliavimu. Biblioteka yra prieinama pagal dvigubą licenciją, kur atvirojo kodo programinei įrangai kurti galima naudoti AGPL licenciją. Biblioteka teikia pilną palaikymą kuriant PDF dokumentus su aukšto lygio tekstu, piešiniais ir vaizdais.
Atvirojo kodo unipdf biblioteka palaiko kelias įprastas ir pažangias PDF dokumentų apdorojimo ir optimizavimo funkcijas, tokias kaip PDF ataskaitų kūrimas, PDF ataskaitų generavimas, sąskaitų faktūrų kūrimas, pastraipų kūrimas ir tvarkymas, PDF puslapių sujungimas ir skaidymas, puslapių sukimas, teksto ištraukimas iš PDF failus, eksportuoti PDF į CSV, konvertuoti vaizdus į PDF, suspausti ir optimizuoti PDF failus, vandens ženklų PDF failus, sudėtinių šriftų (Unicode simbolių) palaikymą, skaitmeninius parašus ir daug daugiau.
.
Darbo su unipdf pradžia
Norėdami įdiegti unipdf savo sistemoje, paleiskite šią komandą.
Įdiekite gofpdf per „GitHub“.
go get github.com/unidoc/unipdf/v3
Norėdami gauti naujausią naujinį, apsilankykite produkto leidimų puslapyje.
Generuokite PDF ataskaitą naudodami „Go API“.
Atvirojo kodo unipdf API kūrėjams suteikia galimybę kurti PDF ataskaitas savo „Go“ programose. Biblioteka leidžia kūrėjams efektyviai dirbti su PDF dokumentais, be to, į PDF ataskaitas galima lengvai įtraukti paveikslėlius, lenteles, antraštes, poraštes ir daug daugiau. Taip pat galite įdėti dinaminį turinį į savo PDF ataskaitas naudodami tik kelias kodo eilutes.
Konvertuokite PDF failą į CSV naudodami „Go API“.
Unipdf biblioteka leidžia programinės įrangos kūrėjams konvertuoti PDF failus į CSV failų formatus savo „Go“ programose. PDF į Excel keitikliai yra labai naudinga priemonė verslui ir mokslinių tyrimų institucijoms. Tai labai paprasta naudoti ir suteikia galimybę iš PDF ištraukti teksto žymes ir sugrupuoti juos į žodžius, eilutes ir stulpelius, kad būtų galima išgauti CSV duomenis.
Įterpti paveikslėlius į PDF
Atvirojo kodo unipdf API programuotojams suteikia galimybę įtraukti savo pasirinktus vaizdus į PDF dokumentus GO programose. Tai palengvina kūrėjo darbą, kai pateikiami vaizdai į PDF dokumentą, nesijaudinant dėl koordinačių. Jums tereikia nurodyti vaizdo kelią ir dydį, nesijaudinant dėl koordinačių. Biblioteka palaiko populiarius vaizdo formatus, tokius kaip JPEG, PNG, GIF, TIFF ir kt.
// 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
}
Pridėkite slaptažodį prie PDF dokumentų
Nemokama unipdf API suteikia kūrėjams galią apsaugoti savo PDF dokumentus pritaikius jiems slaptažodį naudojant Go komandas. Galite apriboti naudotojų galimybę atidaryti ir skaityti PDF dokumentus. Taip pat galite nustatyti savininko slaptažodį, kad suteiktumėte visišką prieigą prie PDF failo. Be to, taip pat galite apriboti vartotojus, kad jie negalėtų keisti tam tikrų PDF dokumentų dalių.
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
}