Gyakran feltett kérdések

Gyakran feltett kérdések

Licenzálás és nyílt forráskódú szoftverek

Mi a licenc az Aspose.PDF FOSS for Go-ra?

Aspose.PDF FOSS for Go is released under the MIT Licenc.A teljes licenc szövege a következő: a tárolótárban szereplő, az alábbiakban: github.com/aspose-pdf-foss/assose- pdf-Foss-for-go. Nem szükséges regisztráció, aktiválási fájl vagy futtatási kulcs.

Használhatom a Aspose.PDF FOSS for Go-t egy kereskedelmi termékben?

Igen. A MIT licenc korlátozás nélküli kereskedelmi használatot, módosítást, terjesztést és magánhasználati lehetőségeket engedélyez. Az összes másolatban vagy a szoftver jelentős részében be kell tüntetni az szerzői jogi értesítést és a MIT-licencia szövegét.

Van vállalati változata?

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 vállalati támogatással, kiterjesztett formátumú lefedettséggel és felhőintegrációval.


Beépítés és követelmények

Hogyan telepítem a FOSS for Go-t?

Adja hozzá a modulot az Go projekthez:

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

Importáljon egy álnévvel a forráskészletbe:

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

Milyen Go változat szükséges?

1.24 vagy újabb verzió szükséges. Ellenőrizze a verziót az alábbiakban: go version.

Van-e egy native vagy rendszer könyvtár függőség?

Nem. Aspose.PDF A FOSS for Go egy tiszta Go megvalósítás, C-, C++ vagy CGo függőségek nélkül. Nincs szükség semmilyen rendszer könyvtárra, PDF nézőre vagy külső eszközre.


tűz használata

Hogyan nyithatok meg egy PDF-t?

Használat pdf.Open a szabványos PDF-ek esetében, és pdf.OpenWithPassword jelszóval védett fájlok esetében:

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

Hogyan osztom fel egy PDF-et egyes oldalakra?

Document.Split az a-t adja vissza. []*Document, egy oldalonként:

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

Hogyan egyesíthetek több PDF-t?

Document.Append a forrásdokumentum helyben történő egyesítése:

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

Hogyan töltsek ki egy AcroForm mezőt?

Használat Document.Form().Field(name) és a betontípusra vonatkozó követelmények:

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")

Támogatott mezőtípusok: TextBoxField, CheckboxField, RadioButtonField, ComboBoxField, ListBoxField, ButtonField.

Hogyan adhatok be könyvjelzőt?

A következők: OutlineItemCollection és állítson be egy 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")

Biztonság és titkosítás

Hogyan védhetek egy PDF-et jelszóval?

Használat Document.SetEncryption egy EncryptionOptions struct a jelszóvédelem és az engedélyek jelölései alkalmazására. Adjon meg egy felhasználói jellent a fájl megnyitásához, és egy tulajdonosjellel a módosítási jogokhoz:

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")

Milyen titkosítási algoritmusokat támogatnak?

Három algoritmus elérhető a következő formában: EncryptionOptions.Algorithm:

AlgorithmConstantStandard
AES-128EncryptionAlgAES128 (alapértelmezés szerint)ISO 32000-1
AES-256EncryptionAlgAES256ISO 32000-2 (PDF 2.0 kimeneti)
RC4-128EncryptionAlgRC4_128Legacy

Hogyan nyithatok egy jelszóval védett fájlt?

Használat pdf.OpenWithPassword A felhasználói jelszót adja át a második argumentumként; normális kódot ad vissza. *Document a kód lefejtése sikeres:

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

Hogyan távolítsam el a titkosítást egy PDF-ből?

Call Document.RemoveEncryption A kódolás nélkül megírható másolat:

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

Renderelés és szöveg

Hogyan alakíthatom a PDF-oldalt képké?

Használja az egyik eszköztípust: BmpDevice, PngDevice, JpegDevice, TiffDevice, vagy GifDevice.A készüléket egy Resolution érték és hívja a megfelelő Render* módszer egy io.Writer és a következők: 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})

Hogyan kereshetek szöveget egy PDF-ben?

Call Document.SearchText a lekérdezés szalagával és SearchOptions.Az eredmény egy… réteg TextMatch értékek mindegyik tartalmazza a megfelelő szöveget, az indexjét és a határoló doboz.

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

Hogyan lehet egy űrlapot lecsúszni?

Call Document.Flatten A módszer az összes mezőt megtisztítja. értékek a lap grafikai és eltávolítja az interaktív formátum mezőket:

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

Ismeretes korlátozások

Minden PDF funkciót támogat?

A könyvtár a leggyakoribb dokumentumkezelési műveleteket foglalja magában: nyitás, létrehozás , mentés, megosztás és egyesítés, oldal kivonása, titkosítás, AcroForms, táblázatok, könyvjelzők, megjegyzések, képek megjelenítése, szövegkeresés és űrlap lecsapcsolása. Fejlett funkciók, mint például digitális aláírások, 3D tartalom és PDF/A konverzió nem teljes mértékben megvalósíthatóak az aktuális kiadásban. Ellenőrizze a README raktárt a jelenlegi funkció állapotára.

Mi történik, ha egy nem egyező mező-típusú állítást használok?

A típusra vonatkozó állítás a következőkre: Field Ha nem illik a tényleges mezőtípushoz, pánikba kerülünk. Használat pdf.FieldType(f) a típus vizsgálatára, mielőtt az alábbiakat állítaná:

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())
    }
}
 Magyar