Aspose.PDF FOSS for TypeScript विशेषताएँ
Aspose.PDF FOSS TypeScript के लिए सुविधाएँ
यह पृष्ठ Aspose.PDF FOSS for TypeScript के प्रमुख क्षमता क्षेत्रों और उन क्लासों का सर्वेक्षण करता है जो उनके प्रवेश बिंदु के रूप में कार्य करती हैं, ताकि आप वर्तमान कार्य के लिए उचित डेवलपर-गाइड पृष्ठ खोज सकें। प्रत्येक क्षेत्र अपना स्वयं का पृष्ठ पर गहराई से कवर किया गया है।
दस्तावेज़ और पृष्ठ प्रबंधन
Document हर ऑपरेशन का प्रवेश बिंदु है: Document.New() निर्धारित PageFormat पर एक खाली दस्तावेज़ शुरू करता है, और Document.OpenFile() / Document.Open() फ़ाइल पथ या इन-मेमोरी बाइट्स से एक मौजूदा को लोड करते हैं। doc.Pages Page ऑब्जेक्ट्स का एक array है, और Document.WriteTo() / Document.Save() परिणाम को वापस लिखते हैं।
import { Document, PageFormat } from '@asposefoss/pdf';
const doc = Document.New(PageFormat.A4);
doc.Pages[0].AddText('Hello from Aspose.PDF FOSS!', 72, 720, { fontSize: 14 });
doc.WriteTo('hello.pdf');देखें Core API दस्तावेज़ जीवनचक्र, विभाजन, मर्जिंग, और पृष्ठ असेंबली के लिए।
फ़ॉर्मेट रूपांतरण
Document.ToHtml(), Document.ToDocx(), और Document.ToMarkdown() किसी दस्तावेज़ के प्रत्येक पृष्ठ को किसी अन्य फ़ॉर्मेट में रेंडर करते हैं; वही मेथड्स Page पर भी उपलब्ध हैं एकल पृष्ठ रेंडर करने के लिए, साथ ही Page.ToImage() PNG रास्टर आउटपुट के लिए और Page.ToSvg() स्टैंडअलोन SVG के लिए।
const doc = Document.OpenFile('report.pdf');
const html = doc.ToHtml(); // standalone HTML, all pages
const png = doc.Pages[0].ToImage({ scale: 2 }); // PNG bytes for page 1
देखें Conversion निर्यात फ़ॉर्मेट और विकल्पों के पूर्ण सेट के लिए।
एनोटेशन
Page.AddHighlight() और उसके सहायक Page.Add*() मेथड मार्कअप और शेप एनोटेशन बनाते हैं; प्रत्येक एक लाइव Annotation हैंडल लौटाता है। Annotation.Flatten() एनोटेशन की उपस्थिति को सीधे पेज की कंटेंट स्ट्रिम में बेक करता है और उसे /Annots से हटा देता है, जिससे वह स्थायी और गैर-इंटरैक्टिव बन जाता है।
const highlight = doc.Pages[0].AddHighlight({ quadPoints: [72, 700, 200, 700, 72, 685, 200, 685] });
highlight.Flatten();देखें Annotations एनोटेशन प्रकारों और एनोटेशन टेक्स्ट खोजने के पूर्ण सेट के लिए।
फ़ॉर्म्स और फ़ील्ड फ़्लैटनिंग
AcroForm फ़ील्ड doc.Form के माध्यम से, एक Form फ़ेसेड, या सीधे Page पर Page.AddTextField() / Page.AddCheckbox() के साथ बनाए जाते हैं। Form.AddTextField() और Form.AddCheckbox() एक फ़ील्ड हैंडल लौटाते हैं जिसका अपना Flatten() मेथड उसे स्थिर कंटेंट में उसी तरह बेक करता है जैसा Annotation.Flatten() करता है।
const field = doc.Form.AddTextField({
page: 0, rect: [72, 660, 300, 680], name: 'FullName', value: 'Jane Doe',
});
field.Flatten();देखें Forms पूर्ण फ़ील्ड प्रकारों के सेट के लिए।
Security
Document.OpenFile() और Document.Open() एक password विकल्प को स्वीकार करते हैं ताकि संरक्षित दस्तावेज़ खोल सकें, और Document.Save() एक encrypt विकल्प को स्वीकार करता है जिससे सहेजते समय एक को सुरक्षित किया जा सके। Document.Sign() और Document.Certify() डिजिटल हस्ताक्षर जोड़ते हैं, और Document.VerifySignatures() दस्तावेज़ में पहले से मौजूद प्रत्येक हस्ताक्षर की जांच करता है।
import { Document, InvalidPasswordError } from '@asposefoss/pdf';
try {
const doc = Document.OpenFile('secret.pdf', { password: 'hunter2' });
doc.WriteTo('decrypted.pdf');
} catch (e) {
if (e instanceof InvalidPasswordError) console.error('wrong password');
else throw e;
}देखें Security encryption, signing, और signature verification के लिए।
Redaction
Page.AddRedact() एक आयताकार क्षेत्र को रेडैक्शन के लिए चिह्नित करता है बिना पृष्ठ को अभी बदले; फिर Page.ApplyRedactions() विनाशकारी रूप से कंटेंट स्ट्रीम को पुनर्लेखित करता है, चिह्नित सामग्री को स्थायी रूप से हटा देता है और लागू किए गए रेडैक्शन की संख्या लौटाता है।
page.AddRedact({ rect: [220, 550, 460, 566], fill: [0, 0, 0], overlayText: '[REDACTED]' });
const applied = page.ApplyRedactions();देखें Redaction mark-mode vs. applied redactions के बारे में अधिक विवरण के लिए।
दस्तावेज़ संरचना और पहुँच
Document.AutoTag() पृष्ठ लेआउट से — फ़ॉन्ट-साइज़ क्लस्टरिंग द्वारा शीर्षक, पैराग्राफ, और (opts.alt) आकृतियों के साथ — एक /StructTreeRoot का अनुमान लगाता है और लिखता है और एक AutoTagReport लौटाता है। Document.GetStructTree() परिणामी संरचना ट्री को पढ़ता है, और Document.ValidatePdfUa() दस्तावेज़ को PDF/UA-1 के मशीन-चेक करने योग्य उपसमुच्चय के विरुद्ध जाँचता है।
const report = doc.AutoTag({ lang: 'en-US', title: 'Quarterly Report', tables: true });
console.log(report);देखें Structure आउटलाइन, टैगिंग, और नामित डेस्टिनेशन्स के लिए।
सलाह और सर्वोत्तम प्रथाएँ
- परिवर्तित करें
Pageऑब्जेक्ट्स को सीधेdoc.Pagesके माध्यम से — एनोटेशन, फ़ील्ड, या पेज जो अलग वेरिएबल में रखे हैं और लाइव दस्तावेज़ से प्राप्त नहीं हुए हैं,Save()/WriteTo()को कॉल करने पर प्रतिबिंबित नहीं होते। Flatten()दोनोंAnnotationऔर फ़ॉर्म फ़ील्ड हैंडल्स (TextField,CheckboxField, और अन्य फ़ील्ड प्रकारों) पर उपलब्ध है — इसे एक बार कॉल करें जब इंटरैक्टिव सामग्री स्थायी, गैर-संपादन योग्य पेज सामग्री बननी चाहिए।- केवल तभी
Page.ApplyRedactions()को कॉल करें जब उस पेज के लिए प्रत्येकPage.AddRedact()मार्क जोड़ दिया गया हो; कॉल के बाद जोड़े गये मार्क लागू नहीं होते। - जब अनविश्वसनीय इनपुट पर
Document.OpenFile()/Document.Open()को कॉल करें, तो व्यापक कैच-ऑल से पहले विशेष रूप सेInvalidPasswordErrorको पकड़ें। Document.AutoTag()एक ह्यूरिस्टिक स्ट्रक्चर ट्री बनाता है — पूरी पहुँच योग्यता मान लेने के बजाय हमेशा परिणाम कोDocument.GetStructTree()याValidatePdfUa()से जाँचें।
आम समस्याएँ
| समस्या | कारण | सुधारें |
|---|---|---|
Document.OpenFile() / Document.Open() InvalidPasswordError फ़ेंकता है | दस्तावेज़ पासवर्ड-सुरक्षित है और कोई पासवर्ड, या गलत पासवर्ड, प्रदान नहीं किया गया। | { password: '...' } को Document.OpenFile() / Document.Open() को पास करें |
| रेडैक्शन मार्क का कोई प्रभाव नहीं है | Page.ApplyRedactions() कभी नहीं बुलाया गया, या मार्क जोड़ने से पहले बुलाया गया था | पहले प्रत्येक मार्क के लिए Page.AddRedact() कॉल करें, फिर Page.ApplyRedactions() एक बार |
| फ़्लैटेड फ़ील्ड या एनोटेशन अभी भी इंटरैक्टिव दिखता है | Flatten() को कॉपी पर कॉल किया गया था, न कि Add*() कॉल द्वारा लौटाए गए हैंडल पर | Flatten() को उस ऑब्जेक्ट पर कॉल करें जो सीधे AddTextField() / AddHighlight() / आदि द्वारा लौटाया गया हो. |
ValidatePdfUa() अभी भी AutoTag() के बाद संरचना की कमी की रिपोर्ट करता है | AutoTag() एक heuristic है और बिना alt callback के यह हर फ़िगर को टैग नहीं कर सकता | AutoTag() को opts.alt फ़ंक्शन पास करें ताकि छवियों के लिए alt टेक्स्ट प्रदान किया जा सके |
FAQ
क्या Aspose.PDF TypeScript के लिए FOSS एक वाणिज्यिक PDF इंजन पर निर्भर करता है?
नहीं। यह MIT लाइसेंस के तहत जारी किया गया है और इसकी रेंडरिंग, रूपांतरण, और साइनिंग लॉजिक पूरी तरह से TypeScript/JavaScript में चलती है।
क्या मैं PDF को सीधे HTML, Markdown, या DOCX में परिवर्तित कर सकता हूँ?
हाँ — Document.ToHtml(), Document.ToMarkdown(), और Document.ToDocx() दस्तावेज़ के प्रत्येक पृष्ठ को रेंडर करते हैं; समकक्ष Page.ToHtml() / Page.ToMarkdown() / Page.ToDocx() विधियाँ एक पृष्ठ को रेंडर करती हैं।
मार्किंग और रेडैक्शन लागू करने में क्या अंतर है?
Page.AddRedact() केवल एक क्षेत्र को चिह्नित करता है — अंतर्निहित सामग्री अभी भी मौजूद है और कॉपी-सेलेक्टेबल है जब तक Page.ApplyRedactions() नहीं बुलाया जाता, जो इसे विनाशकारी रूप से हटा देता है।
मैं एक एनोटेशन या फ़ॉर्म फ़ील्ड को स्थायी और गैर-एडिटेबल कैसे बना सकता हूँ?
उस ऑब्जेक्ट पर Flatten() कॉल करें जो Add*() कॉल द्वारा बनाया गया था — एनोटेशनों के लिए Annotation.Flatten(), या AcroForm फ़ील्ड्स के लिए फ़ील्ड हैंडल की अपनी Flatten()।
मैं आगे कहाँ जाऊँ?
Getting Started इंस्टॉलेशन और एक पहला कार्यशील उदाहरण कवर करता है। यह डेवलपर गाइड ऊपर लिंक किए गए प्रत्येक क्षमता क्षेत्र के लिए समर्पित पृष्ठों के साथ जारी रहता है।
API Reference सारांश
| क्लास/मेथड | विवरण |
|---|---|
Document | एंट्री पॉइंट — PDF बनाएँ, लोड करें, सहेजें, और प्रबंधित करें |
Document.New() / Document.OpenFile() / Document.Open() | एक खाली दस्तावेज़ शुरू करें, या फ़ाइल पथ या इन-मेमोरी बाइट्स से एक लोड करें |
Document.WriteTo() / Document.Save() | दस्तावेज़ को फ़ाइल पथ पर लिखें या बाइट्स लौटाएँ |
Document.ToHtml() / Document.ToDocx() / Document.ToMarkdown() | हर पृष्ठ को दूसरे प्रारूप में रेंडर करें |
Page.ToImage() / Page.ToSvg() | एकल पृष्ठ को PNG या SVG में रेंडर करें |
Page.AddHighlight() और अन्य Page.Add*() एनोटेशन विधियां | एक annotation बनाएं, जो एक live handle लौटाता है |
Annotation.Flatten() | एक annotation की उपस्थिति को स्थैतिक पृष्ठ सामग्री में बेक करें |
Form / Form.AddTextField() / Form.AddCheckbox() | AcroForm facade और field सृजन |
Document.Sign() / Document.Certify() / Document.VerifySignatures() | डिजिटल हस्ताक्षर जोड़ें या सत्यापित करें |
Page.AddRedact() / Page.ApplyRedactions() | चिह्नित करें और सामग्री रेडैक्शन लागू करें |
Document.AutoTag() / Document.GetStructTree() | लेखक बनें और दस्तावेज़ की तर्कसंगत संरचना वृक्ष पढ़ें |