Česta pitanja

Česta pitanja

Licencije i otvoreni izvorni sadržaj

Koja je licenca za FOSS for Go?

Aspose.PDF FOSS for Go is released under the MIT licenca.Potpuni tekst dozvole je: uključen u repozitorij na: Github.com/aspose-pdf-foss/asspose - pdf- foss-for-go. Ne zahtijeva se registracija, aktiviranje datoteke ili ključeva za vrijeme pokretanja.

Mogu li koristiti Aspose.PDF FOSS za Go u komercijalnom proizvodu?

Da. MIT licenca dopušta neograničenu komercijalnu upotrebu, modifikaciju, distribuciju i privatnu uporabu. Morate uključiti upozorenje o autorskim pravima i tekst licence MIT u svim kopijama ili značajnim dijelovima softvera.

Postoji li i poslovna verzija?

Aspose.PDF FOSS is the open-source, MIT-licensed edition. A separate commercial Aspose.PDF product is available as the Aspose.PDF — Enterprise Product Family s poduzetničkom podrškom, proširenim formatom pokrivanja i integracijom u oblak.


Instalacija i zahtjevi

Kako instalirati FOSS za Go?

Dodajte modul u svoj Go projekt:

go get github.com/aspose-pdf-foss/aspose-pdf-foss-for-go

Uvezite ga s aliasom u izvorne datoteke:

import pdf "github.com/aspose-pdf-foss/aspose-pdf-foss-for-go"

Koja je Go verzija potrebna?

Potreban je 1.24 ili noviji. go version.

Postoje li izvorne ili sustavne ovisnosti o knjižnici?

FOSS for Go je čisto-Go implementacija bez C, C++, ili CGo ovisnosti. Ne zahtijeva nikakve sustavne knjižnice, PDF pregledače niti vanjske alate.


Upotreba API-a

Kako otvoriti postojeći PDF?

Upotreba: pdf.Open za standardne PDF-ove i pdf.OpenWithPassword za datoteke koje su zaštićene lozinkom:

doc, err := pdf.Open("document.pdf")
if err != nil {
    panic(err)
}
fmt.Println(doc.PageCount())

Kako podijeliti PDF na pojedinačne stranice?

Document.Split vraća a []*Document, jedan po stranici:

doc, _ := pdf.Open("report.pdf")
pages, _ := doc.Split()
for i, p := range pages {
    p.Save(fmt.Sprintf("page_%03d.pdf", i+1))
}

Kako spajati više PDF-ova?

Document.Append U ovom slučaju, u skladu s člankom 21. stavkom 1. točkom (a) i podstavkom 2.:

base, _ := pdf.Open("part1.pdf")
part2, _ := pdf.Open("part2.pdf")
base.Append(part2)
base.Save("combined.pdf")

Kako ispunjavam polje AcroForm?

Upotreba: Document.Form().Field(name) i utvrditi oblik betona:

doc, _ := pdf.Open("form.pdf")
text := doc.Form().Field("customer_name").(*pdf.TextBoxField)
text.SetValue("Jane Doe")

check := doc.Form().Field("agree").(*pdf.CheckboxField)
check.SetChecked(true)

doc.Save("form_filled.pdf")

Podržani tipovi polja: TextBoxField, CheckboxField, RadioButtonField, ComboBoxField, ListBoxField, ButtonField.

Kako da dodam stavke?

Stvoriti OutlineItemCollection i postaviti: Destination:

doc, _ := pdf.Open("manual.pdf")
page, _ := doc.Page(1)

bm := pdf.NewOutlineItemCollection(doc)
bm.SetTitle("Chapter 1")
bm.SetDestination(pdf.NewDestinationXYZ(page, 0, 800, 1.0))
doc.Outlines().Add(bm)
doc.Save("manual_with_bookmarks.pdf")

Sigurnost i šifriranje

Kako zaštititi PDF?

Upotreba: Document.SetEncryption s: EncryptionOptions Structuralni znak za korištenje zaštite lozinke i oznake dozvola. Upišite korisničku lozicu za otvaranje datoteke i vlasnikovu ložicu u svrhu prava na izmjenu:

doc, _ := pdf.Open("doc.pdf")
doc.SetEncryption(pdf.EncryptionOptions{
    UserPassword:  "userpass",
    OwnerPassword: "ownerpass",
    Permissions:   &pdf.Permissions{AllowPrint: true, AllowCopy: false},
})
doc.Save("doc_protected.pdf")

Koje su algoritmi šifriranja podržani?

Tri algoritma su dostupni putem: EncryptionOptions.Algorithm:

Algoritam za upravljanje:StalnoStandardni sustav
AES-128EncryptionAlgAES128 (predviđeno)ISO 32000-1
AES-256EncryptionAlgAES256ISO 32000-2 (izlaz PDF 2.0)
RC4-128EncryptionAlgRC4_128Nasljeđe

Kako otvorim datoteku koja je zaštićena lozinkom?

Upotreba: pdf.OpenWithPassword Kada datoteka zahtijeva autentifikaciju. Prenosite korisničku lozinku kao drugi argument; vraća normalnu *Document Nakon uspješnog dešifriranja:

doc, err := pdf.OpenWithPassword("protected.pdf", "userpass")
if err != nil {
    panic(err)
}
fmt.Println(doc.PageCount())

Kako ukloniti šifriranje iz PDF-a?

Zovi me. Document.RemoveEncryption Nakon što otvorite datoteku s ispravnom lozinkom, sačuvati rezultat za pisanje nekriptirane kopije:

doc, _ := pdf.OpenWithPassword("protected.pdf", "userpass")
doc.RemoveEncryption()
doc.Save("decrypted.pdf")

Izvodnja i tekst

Kako da prevedem PDF stranicu u sliku?

Koristite jednu od vrsta uređaja: BmpDevice, PngDevice, JpegDevice, TiffDevice,ili GifDevice.Ugraditi uređaj s: Resolution vrijednost i pozvati odgovarajuću Render* metoda s io.Writer i u članku 1. RenderOptions:

doc, _ := pdf.Open("report.pdf")
page, _ := doc.Page(1)
f, _ := os.Create("page1.png")
defer f.Close()
page.RenderPNG(f, pdf.RenderOptions{DPI: 150})

Kako mogu tražiti tekst u PDF-u?

Zovi me. Document.SearchText s nizom upita i SearchOptions.Rezultat je: rezovica TextMatch vrijednosti svaka sadrži odgovarajući tekst, indeks stranice i svoj popis. Ograničavajući okvir.

doc, _ := pdf.Open("doc.pdf")
matches, _ := doc.SearchText("total", pdf.SearchOptions{CaseInsensitive: true})
for _, m := range matches {
    fmt.Printf("page %d: %q\n", m.PageNumber, m.Text)
}

Kako da ispljesim obrazac?

Zovi me. Document.Flatten Nakon ispunjenja ili pregleda obrazac. metoda peče sve polja Vrednosti u grafičke stranice i uklanjanje interaktivnih polja obrasca:

doc, _ := pdf.Open("filled.pdf")
doc.Flatten()
doc.Save("flat.pdf")

Poznata ograničenja

Podržavaju li se sve PDF funkcije?

Biblioteka pokriva najčešće operacije upravljanja dokumentima: otvaranje, kreiranje, pohranjivanje, podjela, spajanje, ekstrakcija stranica, enkripcija, AcroForms, tabele, folding, bilješke i tekst. Napredne funkcije kao što su digitalni potpis, 3D sadržaj i PDF/A konverzija možda nisu u potpunosti implementirane u trenutnom izdanju. Provjerite stanje sadašnje funkcionalnosti u repozitoriju README .

Što se događa ako koristim tvrdnju tipa polja koja ne odgovara?

U ovom slučaju, u skladu s člankom 72. stavkom 1. točkom (a) ovog članka. Field Ako se ne poklapa s stvarnim tipom polja, paničariće. Upotreba: pdf.FieldType(f) za provjeru tipa prije tvrdnje ili korištenje prekidača tipa:

doc, _ := pdf.Open("form.pdf")
for _, f := range doc.Form().Fields() {
    switch v := f.(type) {
    case *pdf.TextBoxField:
        fmt.Println("text:", v.Value())
    case *pdf.CheckboxField:
        fmt.Println("checked:", v.Checked())
    }
}
 Hrvatski