Siirry API PDF-dokumenttien luomiseen ja käsittelyyn
Open Source Go Library, jonka avulla kehittäjät voivat luoda, muokata, manipuloida ja muuntaa PDF-dokumentteja.
Unipdf on avoimen lähdekoodin Go-kirjasto, joka pystyy käsittelemään helposti kaikki PDF-dokumenttien luomiseen ja käsittelyyn liittyvät kyselysi. Kirjasto on saatavilla kaksoislisenssillä, jossa AGPL-lisenssiä voidaan käyttää avoimen lähdekoodin ohjelmistojen kehittämiseen. Kirjasto tarjoaa täydellisen tuen PDF-dokumenttien luomiseen, joissa on paljon tekstiä, piirustuksia ja kuvia.
Avoimen lähdekoodin unipdf-kirjasto tukee useita yleisiä ja edistyneitä ominaisuuksia PDF-dokumenttien käsittelyyn ja optimointiin, kuten PDF-raporttien luomiseen, PDF-raporttien luomiseen, laskujen luomiseen, kappaleiden luomiseen ja käsittelyyn, PDF-sivujen yhdistämiseen ja jakamiseen, sivujen kiertämiseen, tekstin poimimiseen PDF-tiedostoja, viedä PDF CSV-muotoon, muuntaa kuvat PDF-muotoon, pakata ja optimoida PDF, vesileima PDF-tiedostot, komposiittifonttien (Unicode-merkit) tuki, digitaaliset allekirjoitukset ja paljon muuta.
.
Unipdf:n käytön aloittaminen
Asenna unipdf järjestelmääsi suorittamalla seuraava komento.
Asenna gofpdf GitHubin kautta
go get github.com/unidoc/unipdf/v3
Uusin päivitys löytyy tuotteen julkaisusivulta.
Luo PDF-raportti Go API:n kautta
Avoimen lähdekoodin unipdf-sovellusliittymä tarjoaa kehittäjille mahdollisuuden luoda PDF-raportteja omissa Go-sovelluksissaan. Kirjaston avulla kehittäjät voivat työskennellä tehokkaasti PDF-dokumenttien kanssa, ja se sisältää tuen kuvien, taulukoiden, otsikoiden, alatunnisteiden ja monien muiden lisäämiseen PDF-raportteihin helposti. Voit myös sijoittaa dynaamista sisältöä PDF-raportteihisi vain muutamalla koodirivillä.
Muunna PDF-tiedosto CSV-muotoon Go API:n kautta
Unipdf-kirjaston avulla ohjelmistokehittäjät voivat muuntaa PDF-tiedostoja CSV-tiedostomuotoihin omissa Go-sovelluksissaan. PDF–Excel-muuntimet ovat erittäin hyödyllinen työkalu yrityksille ja tutkimuslaitoksille. Se on erittäin helppokäyttöinen ja tarjoaa mahdollisuuden poimia TextMarks PDF-tiedostosta ja ryhmitellä ne yhteen sanoiksi, riveiksi ja sarakkeiksi CSV-tietojen poimimista varten.
Lisää kuvat PDF-tiedostoon
Avoimen lähdekoodin unipdf-sovellusliittymä antaa ohjelmoijille mahdollisuuden lisätä haluamiaan kuvia PDF-dokumentteihin GO-sovellusten sisällä. Se helpottaa kehittäjien työtä samalla, kun sijoitat kuvia PDF-dokumenttiin ilman, että sinun tarvitsee huolehtia koordinaateista. Sinun tarvitsee vain antaa kuvan polku ja koko huolehtimatta koordinaateista. Kirjasto on tukenut suosittuja kuvamuotoja, kuten JPEG, PNG, GIF, TIFF ja paljon muuta.
// 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
}
Lisää salasana PDF-dokumentteihin
Ilmainen unipdf-sovellusliittymä antaa kehittäjille mahdollisuuden suojata PDF-dokumenttejaan lisäämällä niihin salasana Go-komennoilla. Voit rajoittaa käyttäjiä avaamasta ja lukemasta PDF-dokumentteja. Voit myös asettaa omistajan salasanan myöntämään täydellisen pääsyn PDF-tiedostoon. Lisäksi voit myös rajoittaa käyttäjiä tekemästä minkäänlaisia muutoksia tiettyihin PDF-dokumenttien osiin.
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
}