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

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

लाइसेंसिंग और ओपन सोर्स

Aspose.PDF FOSS for Go का लाइसेंस क्या है?

Aspose.PDF FOSS for Go को जारी किया गया है MIT License. पूरी लाइसेंस टेक्स्ट रिपॉजिटरी में शामिल है github.com/aspose-pdf-foss/aspose-pdf-foss-for-go. कोई पंजीकरण, सक्रियण फ़ाइल, या रनटाइम कुंजी आवश्यक नहीं है।

क्या मैं Aspose.PDF FOSS for Go को एक व्यावसायिक उत्पाद में उपयोग कर सकता हूँ?

हाँ। MIT license बिना प्रतिबंध के व्यावसायिक उपयोग, संशोधन, वितरण, और निजी उपयोग की अनुमति देता है। आपको सॉफ़्टवेयर की सभी प्रतियों या महत्वपूर्ण भागों में कॉपीराइट नोटिस और MIT license टेक्स्ट शामिल करना होगा।

क्या कोई एंटरप्राइज़ संस्करण है?

Aspose.PDF FOSS ओपन-सोर्स, MIT-लाइसेंस वाली संस्करण है। एक अलग व्यावसायिक Aspose.PDF उत्पाद उपलब्ध है Aspose.PDF — Enterprise Product Family एंटरप्राइज़ समर्थन, विस्तारित फ़ॉर्मेट कवरेज, और क्लाउड एकीकरण के साथ।


स्थापना और आवश्यकताएँ

मैं Aspose.PDF FOSS को Go के लिए कैसे स्थापित करूँ?

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

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

अपने स्रोत फ़ाइलों में एक उपनाम के साथ इसे इम्पोर्ट करें:

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

कौन सा Go संस्करण आवश्यक है?

Go 1.24 या बाद का संस्करण आवश्यक है। अपने संस्करण की पुष्टि go version से करें।

क्या कोई नेटिव या सिस्टम लाइब्रेरी निर्भरताएँ हैं?

No. Aspose.PDF FOSS for Go एक शुद्ध-Go कार्यान्वयन है जिसमें कोई C, C++, या CGo निर्भरताएँ नहीं हैं। इसे किसी सिस्टम लाइब्रेरी, PDF व्यूअर, या बाहरी टूल की आवश्यकता नहीं है।


API Usage

मैं मौजूदा PDF को कैसे खोलूँ?

मानक PDFs के लिए pdf.Open का उपयोग करें और पासवर्ड-सुरक्षित फ़ाइलों के लिए pdf.OpenWithPassword का उपयोग करें:

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

मैं PDF को व्यक्तिगत पृष्ठों में कैसे विभाजित करूँ?

Document.Split एक []*Document लौटाता है, प्रत्येक पृष्ठ के लिए एक:

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

मैं कई PDFs को कैसे मिलाऊँ?

Document.Append स्रोत दस्तावेज़ को इन-प्लेस मर्ज करता है:

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

मैं AcroForm फ़ील्ड को कैसे भरूँ?

Document.Form().Field(name) का उपयोग करें और ठोस प्रकार को सत्यापित करें:

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

समर्थित फ़ील्ड प्रकार: TextBoxField, CheckboxField, RadioButtonField, ComboBoxField, ListBoxField, ButtonField.

मैं बुकमार्क कैसे जोड़ूँ?

एक OutlineItemCollection बनाएं और एक 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")

सुरक्षा और एन्क्रिप्शन

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

पासवर्ड सुरक्षा और अनुमति फ़्लैग लागू करने के लिए Document.SetEncryption को EncryptionOptions स्ट्रक्ट के साथ उपयोग करें। फ़ाइल खोलने के लिए उपयोगकर्ता पासवर्ड और संशोधन अधिकारों के लिए मालिक का पासवर्ड प्रदान करें:

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

कौन से एन्क्रिप्शन एल्गोरिदम समर्थित हैं?

तीन एल्गोरिदम EncryptionOptions.Algorithm के माध्यम से उपलब्ध हैं:

AlgorithmConstantStandard
AES-128EncryptionAlgAES128 (डिफ़ॉल्ट)ISO 32000-1
AES-256EncryptionAlgAES256ISO 32000-2 (PDF 2.0 आउटपुट)
RC4-128EncryptionAlgRC4_128Legacy

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

जब फ़ाइल को प्रमाणीकरण की आवश्यकता हो तो pdf.OpenWithPassword का उपयोग करें। उपयोगकर्ता पासवर्ड को दूसरे तर्क के रूप में पास करें; डिक्रिप्शन सफल होने पर यह एक सामान्य *Document लौटाता है:

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

मैं PDF से एन्क्रिप्शन को कैसे हटाऊँ?

सही पासवर्ड से फ़ाइल खोलने के बाद Document.RemoveEncryption को कॉल करें। अनएन्क्रिप्टेड प्रति लिखने के लिए परिणाम को सहेजें:

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

रेंडरिंग और टेक्स्ट

मैं PDF पेज को इमेज में कैसे रेंडर करूँ?

उपलब्ध डिवाइस प्रकारों में से एक का उपयोग करें: BmpDevice, PngDevice, JpegDevice, TiffDevice, या GifDevice. डिवाइस को Resolution मान के साथ बनाएँ और संबंधित Render* मेथड को io.Writer और 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})

PDF में टेक्स्ट कैसे खोजूँ?

एक क्वेरी स्ट्रिंग और SearchOptions के साथ Document.SearchText को कॉल करें। परिणाम TextMatch मानों की एक स्लाइस है — प्रत्येक में मिलाए गए टेक्स्ट, उसका पेज इंडेक्स, और उसका बाउंडिंग बॉक्स होता है।

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

फ़ॉर्म को फ़्लैट कैसे करूँ?

फ़ॉर्म भरने या समीक्षा करने के बाद Document.Flatten को कॉल करें। यह मेथड सभी फ़ील्ड मानों को पेज ग्राफ़िक्स में एम्बेड कर देता है और इंटरैक्टिव फ़ॉर्म फ़ील्ड्स को हटा देता है:

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

ज्ञात सीमाएँ

क्या सभी PDF सुविधाएँ समर्थित हैं?

यह लाइब्रेरी सबसे सामान्य दस्तावेज़ प्रबंधन ऑपरेशनों को कवर करती है: खोलना, बनाना, सहेजना, विभाजन, मिलाना, पेज निष्कर्षण, एन्क्रिप्शन, AcroForms, टेबल, बुकमार्क, एनोटेशन, इमेज में रेंडरिंग, टेक्स्ट सर्च, और फ़ॉर्म फ़्लैटिंग। उन्नत सुविधाएँ जैसे डिजिटल सिग्नेचर, 3D कंटेंट, और PDF/A रूपांतरण वर्तमान रिलीज़ में पूरी तरह लागू नहीं हो सकती हैं। वर्तमान फीचर स्थिति के लिए रेपोज़िटरी के README को देखें।

यदि मैं किसी फ़ील्ड टाइप असर्शन का उपयोग करता हूँ जो मेल नहीं खाता तो क्या होता है?

Field पर किया गया टाइप असर्शन यदि वास्तविक फ़ील्ड टाइप से मेल नहीं खाता तो panic करेगा। असर्शन से पहले टाइप की जाँच करने के लिए pdf.FieldType(f) का उपयोग करें, या type switch का प्रयोग करें:

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

यह भी देखें

 हिन्दी