Hogyan töltsük be a dokumentumot Go-ban

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-go

Ellenő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.

Lásd még:

 Magyar