Go में दस्तावेज़ कैसे लोड करें

Go में दस्तावेज़ कैसे लोड करें

Aspose.PDF FOSS for Go एक PDF को फ़ाइल पथ, एक io.Reader, या पासवर्ड से संरक्षित किसी भी स्रोत से लोड करता है, और हमेशा एक *Document मान लौटाता है जिस पर कार्य किया जा सके। लाइब्रेरी एक Go मॉड्यूल है जिसे go get के साथ इंस्टॉल किया जाता है।

स्टेप बाय स्टेप गाइड

चरण 1: पैकेज स्थापित करें

अपने प्रोजेक्ट में मॉड्यूल जोड़ें:

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

सुनिश्चित करें कि मॉड्यूल हल हो रहा है:

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

चरण 2: आवश्यक क्लासेस आयात करें

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

चरण 3: फ़ाइल पथ से PDF लोड करें

pdf.Open एक PDF फ़ाइल लोड करता है और एक *Document तथा त्रुटि लौटाता है:

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

चरण 4: पासवर्ड-सुरक्षित PDF लोड करें

pdf.OpenWithPassword एक फ़ाइल खोलता है जो उपयोगकर्ता पासवर्ड से एन्क्रिप्टेड है:

doc, err := pdf.OpenWithPassword("locked.pdf", "secret")
if err != nil {
	panic(err)
}
fmt.Println("opened:", doc.PageCount(), "pages")

चरण 5: स्ट्रीम से PDF लोड करें

pdf.OpenStream किसी भी io.Reader से PDF पढ़ता है — एक नेटवर्क रिस्पॉन्स, एक इन-मेमोरी बफ़र, या अलग से खोली गई फ़ाइल। pdf.OpenStreamWithPassword स्ट्रीम के लिए पासवर्ड-सुरक्षित समकक्ष है:

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: लोड किए गए दस्तावेज़ की जाँच करें

लोड होने के बाद, Document.PageCount कुल पृष्ठों की संख्या रिपोर्ट करता है और Document.Page(n) 1-आधारित इंडेक्स द्वारा एकल पृष्ठ प्राप्त करता है:

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)

सामान्य समस्याएँ और समाधान

OpenWithPassword मैं जो सही पासवर्ड मानता हूँ, उसे दर्ज करने के बाद भी यह विफल रहता है

गलत पासवर्ड OpenWithPassword को देने पर एक non-nil त्रुटि उत्पन्न होती है। पासवर्ड केस-सेंसिटिव होते हैं — स्रोत PDF पर सेट किए गए सटीक उपयोगकर्ता पासवर्ड की पुष्टि करें।

OpenStream एन्क्रिप्टेड PDF पर त्रुटि लौटाता है

OpenStream एन्क्रिप्टेड PDF नहीं खोल सकता। इसके बजाय पासवर्ड-सुरक्षित स्ट्रीम के लिए OpenStreamWithPassword का उपयोग करें।

क्या मुझे चाहिए OpenWithPassword ऐसे PDF के लिए जो अंततः एन्क्रिप्टेड नहीं है?

नहीं — OpenWithPassword के माध्यम से अनएन्क्रिप्टेड फ़ाइल खोलना अनुमति है और यह साधारण Open कॉल की तरह ही व्यवहार करता है, इसलिए जब आपको फ़ाइल एन्क्रिप्टेड है या नहीं यकीन न हो तो OpenWithPassword का उपयोग सुरक्षित है।

Document.Page(n) सफल … के बाद त्रुटि लौटाता है Open

पृष्ठ संख्या सीमा से बाहर है। Page 1 से Document.PageCount() के बीच 1-आधारित सूचकांक का उपयोग करता है; सीमा को मान्य करने के लिए पहले PageCount() को कॉल करें।


अक्सर पूछे जाने वाले प्रश्न

Open के साथ मैं कौन-से फ़ाइल फ़ॉर्मेट लोड कर सकता हूँ?

Open, OpenWithPassword, OpenStream, और OpenStreamWithPassword सभी केवल PDF इनपुट स्वीकार करते हैं।

मैं डिस्क पर नहीं, बल्कि मेमोरी में पहले से मौजूद PDF को कैसे लोड करूँ?

बाइट स्लाइस को bytes.Reader (जो io.Reader को संतुष्ट करता है) में लपेटें और इसे pdf.OpenStream को पास करें, या यदि बाइट्स एन्क्रिप्टेड PDF का प्रतिनिधित्व करते हैं तो pdf.OpenStreamWithPassword का उपयोग करें।

मैं पासवर्ड-संरक्षित PDF को कैसे लोड करूँ?

फ़ाइल पाथ के लिए pdf.OpenWithPassword(path, password) को कॉल करें, या स्ट्रीम के लिए pdf.OpenStreamWithPassword(r, password) को कॉल करें।

मैं यह कैसे जाँचूँ कि कितने पृष्ठ लोड हुए?

वापस किए गए *Document पर Document.PageCount() को कॉल करें।

यह भी देखें

 हिन्दी