Hogyan töltsük be a dokumentumot Go-ban
Aspose.PDF FOSS for Go egy PDF-et tölt be egy fájlútvonalról, egy io.Reader vagy bármelyik, amely jelszóval védett forrásból, mindig egy *Document értéket ad vissza, amellyel dolgozhat. A könyvtár egy Go modul, amelyet a go get segítségével telepít.
Lépésről lépésre útmutató
Lépés 1: A csomag telepítése
Adja hozzá a modult a projektjéhez:
go get github.com/aspose-pdf-foss/aspose-pdf-foss-for-goEllenőrizd, hogy a modul feloldódik:
import asposepdf "github.com/aspose-pdf-foss/aspose-pdf-foss-for-go"2.lépés: A szükséges osztályok importálása
import (
pdf "github.com/aspose-pdf-foss/aspose-pdf-foss-for-go"
)3.lépés: PDF betöltése fájl útvonalról
pdf.Open betölt egy PDF fájlt, és visszaad egy *Document-t és egy hibát:
doc, err := pdf.Open("testdata/4pages.pdf")
if err != nil {
panic(err)
}
fmt.Println(doc.PageCount(), "pages")4.lépés: Jelszóval védett PDF betöltése
pdf.OpenWithPassword megnyit egy felhasználói jelszóval titkosított fájlt:
doc, err := pdf.OpenWithPassword("locked.pdf", "secret")
if err != nil {
panic(err)
}
fmt.Println("opened:", doc.PageCount(), "pages")5.lépés: PDF betöltése adatfolyamból
pdf.OpenStream PDF-et olvas bármilyen io.Reader -ból — hálózati válasz, memória puffer vagy külön megnyitott fájl. pdf.OpenStreamWithPassword a jelszóval védett megfelelője adatfolyamokhoz:
f, err := os.Open("input.pdf")
if err != nil {
panic(err)
}
defer f.Close()
doc, err := pdf.OpenStream(f)
if err != nil {
panic(err)
}
fmt.Println(doc.PageCount(), "pages")
// For an encrypted stream, open a separate reader and pass a password:
f2, _ := os.Open("locked.pdf")
defer f2.Close()
doc2, err := pdf.OpenStreamWithPassword(f2, "secret")
if err != nil {
panic(err)
}
fmt.Println(doc2.PageCount(), "pages (encrypted)")6.lépés: A betöltött dokumentum ellenőrzése
Betöltés után a(z) Document.PageCount jelzi az oldalak teljes számát, a(z) Document.Page(n) pedig egyetlen oldalt kér le az 1-től kezdődő indexe szerint:
doc, err := pdf.Open("testdata/4pages.pdf")
if err != nil {
panic(err)
}
fmt.Printf("Page count: %d\n", doc.PageCount())
page, err := doc.Page(1)
if err != nil {
panic(err)
}
size, err := page.Size()
if err != nil {
panic(err)
}
fmt.Printf("Page 1 size: %.0f x %.0f pt\n", size.Width, size.Height)Gyakori problémák és megoldások
OpenWithPassword még mindig sikertelen, miután beírom, amit helyes jelszónak hiszek
Helytelen jelszó megadása a(z) OpenWithPassword számára nem-nulla hibát eredményez. A jelszavak kis- és nagybetűérzékenyek — ellenőrizze a forrás-PDF-en beállított pontos felhasználói jelszót.
OpenStream hibát ad egy titkosított PDF esetén
OpenStream nem tud titkosított PDF-eket megnyitni. Ehelyett használja a(z) OpenStreamWithPassword-t jelszóval védett adatfolyamokhoz.
Szükségem van OpenWithPassword egy PDF-hez, amely nem titkosított?
Nem — egy nem titkosított fájl megnyitása a OpenWithPassword segítségével megengedett, és ugyanúgy viselkedik, mint egy egyszerű Open hívás, tehát biztonságos a OpenWithPassword használata, ha nem vagy biztos benne, hogy a fájl titkosított.
Document.Page(n) hibát ad egy sikeres után Open
Az oldalszám tartományon kívül esik. Page 1-al kezdődő indexet használ 1 és Document.PageCount() között; először hívd meg a PageCount()-t a tartomány ellenőrzéséhez.
Gyakran Ismételt Kérdések
Milyen fájlformátumokat tudok betölteni a Open segítségével?
A Open, OpenWithPassword, OpenStream és OpenStreamWithPassword kizárólag PDF bemenetet fogadnak el.
Hogyan tölthetek be egy már memóriában lévő PDF-et a lemez helyett?
Csomagold a bájt szeletet egy bytes.Reader-ba (amely megfelel a io.Reader-nek), és add át a pdf.OpenStream-nek, vagy a pdf.OpenStreamWithPassword-nak, ha a bájtok titkosított PDF-et jelentenek.
Hogyan tölthetek be egy jelszóval védett PDF-et?
Hívja a pdf.OpenWithPassword(path, password) fájlútvonalra, vagy a pdf.OpenStreamWithPassword(r, password) adatfolyamra.
Hogyan ellenőrizhetem, hogy hány oldal lett betöltve?
Hívja a Document.PageCount() a visszaadott *Document.