दस्तावेज़ प्रबंधन
दस्तावेज़ प्रबंधन
Document Aspose.PDF FOSS for .NET में मूल ऑब्जेक्ट है। यह एक
संपूर्ण PDF फ़ाइल का प्रतिनिधित्व करता है और पृष्ठों, मेटाडेटा, फ़ॉर्म फ़ील्ड्स, और सभी
अन्य PDF संरचनाओं तक पहुँच प्रदान करता है। मौजूदा फ़ाइलें Document.Open के साथ खोलें और नई
फ़ाइलें Document कंस्ट्रक्टर के साथ बनाएं।
दस्तावेज़ खोलना और बनाना
// Open from a byte array
using var doc = Document.Open(File.ReadAllBytes("input.pdf"));
// Open from a file path
using var doc2 = new Document("input.pdf");
// Create a new empty document
using var newDoc = new Document();
newDoc.Pages.Add();
newDoc.Save("new.pdf");पृष्ठों के साथ काम करना
PageCollection दस्तावेज़ के पृष्ठों का प्रबंधन करता है। 1-आधारित सूचकांक द्वारा पृष्ठों तक पहुँचें, नए पृष्ठ जोड़ें, या मौजूदा पृष्ठों को हटाएँ।
using var doc = Document.Open(pdfBytes);
// Access first page
var page = doc.Pages[1];
// Add a blank page
var newPage = doc.Pages.Add();
// Get page count
int count = doc.Pages.Count;पृष्ठ ज्यामिति
प्रत्येक पृष्ठ कई बाउंडिंग बॉक्स परिभाषित करता है। उन्हें समायोजित करने के लिए Page पर सेटर मेथड्स का उपयोग करें।
var page = doc.Pages[1];
page.SetMediaBox(new Rectangle(0, 0, 612, 792));
page.SetCropBox(new Rectangle(36, 36, 576, 756));
page.SetRotation(90);दस्तावेज़ सहेजना
फ़ाइल पथ, स्ट्रीम, या बाइट एरे में सहेजें।
// Save to file
doc.Save("output.pdf");
// Save to stream
using var ms = new MemoryStream();
doc.Save(ms);फ़ाइल संलग्नक
FileSpecification PDF में एम्बेडेड फ़ाइल अटैचमेंट्स को दर्शाता है।
var spec = new FileSpecification("data.csv", "Embedded data file");
doc.EmbeddedFiles.Add(spec);छवि स्टैम्प
ImageStamp निर्दिष्ट स्थिति पर पृष्ठ पर रास्टर छवि को ओवरले करता है।
var stamp = new ImageStamp("logo.png");
stamp.Put(doc.Pages[1]);
doc.Save("stamped.pdf");ऑपरेटर संग्रह
OperatorCollection प्रत्येक पृष्ठ पर कच्चे कंटेंट‑स्ट्रीम ऑपरेटर रखता है। इसका उपयोग निम्न‑स्तरीय कंटेंट निरीक्षण या हेरफेर के लिए करें।
var ops = doc.Pages[1].Contents;
foreach (var op in ops)
{
// Inspect each operator
}टिप्स और सर्वोत्तम प्रथाएँ
- फ़ाइल हैंडल को तुरंत रिलीज़ करने के लिए
Documentको एकusingकथन में लपेटें। - फ़ाइल‑लॉक समस्याओं से बचने के लिए इन‑मेमोरी वर्कफ़्लो के लिए
Document.Open(byte[])का उपयोग करें। - सही निर्देशांक स्थान सुनिश्चित करने के लिए सामग्री जोड़ने से पहले पेज बॉक्स (MediaBox, CropBox) को संशोधित करें।
- सभी संशोधनों के बाद केवल एक बार
Saveको कॉल करें — दोहराए गए सहेजने धीमे होते हैं लेकिन सुरक्षित हैं। - सभी पृष्ठों में एनोटेशन को बैच‑प्रोसेस करने के लिए
PageCollection.Accept(AnnotationSelector)का उपयोग करें।
सामान्य समस्याएँ
| Issue | Cause | Fix |
|---|---|---|
Document.Open वैध PDF पर थ्रो करता है | फ़ाइल पासवर्ड से एन्क्रिप्टेड है | कंस्ट्रक्टर में पासवर्ड पैरामीटर प्रदान करें |
| निर्माण के बाद पेज काउंट 0 है | नया Document() खाली शुरू होता है | doc.Pages.Add() को कॉल करके एक खाली पेज जोड़ें |
| सहेजी गई फ़ाइल अपेक्षा से बड़ी है | इमेज या फ़ॉन्ट कई बार एम्बेड किए गए हैं | ऑप्टिमाइज़ेशन का उपयोग करें (Conversion and Optimization guide देखें) |
Pages[0] इंडेक्स त्रुटि थ्रो करता है | पेज 1-आधारित हैं, 0-आधारित नहीं | पहले पेज के लिए Pages[1] का उपयोग करें |
अक्सर पूछे जाने वाले प्रश्न
मैं दो PDF दस्तावेज़ों को कैसे मर्ज करूँ?
Facades API से PdfFileEditor.Concatenate का उपयोग करें, या PageCollection का उपयोग करके एक दस्तावेज़ से दूसरे में पृष्ठों को मैन्युअल रूप से कॉपी करें।
क्या मैं URL या स्ट्रीम से PDF खोल सकता हूँ?
हाँ। URL सामग्री को पहले byte[] में पढ़ें, फिर इसेDocument.Open(byte[]) को पास करें।
मैं पृष्ठ को कैसे हटाऊँ?
doc.Pages.Delete(pageNumber) को कॉल करें जहाँ pageNumber 1-आधारित है।
क्या Document थ्रेड‑सुरक्षित है?
नहीं। प्रत्येक थ्रेड को अपने स्वयं के Document इंस्टेंस के साथ काम करना चाहिए।
API संदर्भ सारांश
| Class / Method | Description |
|---|---|
Document | रूट PDF ऑब्जेक्ट; पृष्ठों, मेटाडेटा और फ़ॉर्म फ़ील्ड्स को रखता है |
Document.Open | बाइट एरे से PDF खोलने के लिए स्थैतिक फ़ैक्टरी |
Document.Save | दस्तावेज़ को फ़ाइल या स्ट्रीम में सीरियलाइज़ करें |
Page | सामग्री, एनोटेशन और ज्यामिति के साथ एकल PDF पृष्ठ |
Page.SetMediaBox | पृष्ठ मीडिया बॉक्स को परिभाषित करें |
Page.SetCropBox | दृश्यमान क्रॉप क्षेत्र को परिभाषित करें |
Page.SetRotation | पृष्ठ को 0, 90, 180 या 270 डिग्री घुमाएँ |
PageCollection | दस्तावेज़ में पृष्ठों का क्रमबद्ध संग्रह |
PageCollection.Add | एक खाली पृष्ठ जोड़ें |
OperatorCollection | पृष्ठ के लिए कच्चे कंटेंट-स्ट्रीम ऑपरेटर |
FileSpecification | एम्बेडेड फ़ाइल अटैचमेंट डिस्क्रिप्टर |
ImageStamp | पृष्ठों के लिए इमेज ओवरले स्टैम्प |
XFormCollection | दस्तावेज़ में पुन: उपयोग योग्य फ़ॉर्म XObjects |