TypeScript में Core PDF API के साथ कैसे काम करें
यह गाइड दिखाता है कि Aspose.PDF FOSS for TypeScript के साथ PDF दस्तावेज़ को कैसे खोलें, बनाएँ, संपादित करें, विभाजित करें और सहेजें। Document और Page क्लासें लाइब्रेरी में प्रत्येक ऑपरेशन के प्रवेश बिंदु हैं — फ़ाइलें खोलना और बनाना, पृष्ठों को वहीं संपादित करना, दस्तावेज़ों को विभाजित और संयोजित करना, और परिणाम को सहेजना। इसके लिए केवल Node.js 22 या उसके बाद का संस्करण आवश्यक है।
क्रमवार गाइड
चरण 1: पैकेज स्थापित करें
git clone https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-TypeScript.git
cd Aspose.PDF-FOSS-for-TypeScript
npm install
npm run buildइंस्टॉलेशन को सत्यापित करने के लिए एक नई TypeScript फ़ाइल में Document क्लास को इम्पोर्ट करें — पैकेज स्थापित होने के बाद यह पंक्ति बिना त्रुटि के हल हो जानी चाहिए:
import { Document } from '@asposefoss/pdf';चरण 2: आवश्यक क्लासें इम्पोर्ट करें
Import Document का उपयोग करके PDF लोड या बनाएं, और PageFormat का उपयोग करें यदि आप दस्तावेज़ को शुरू से बनाना चाहते हैं:
import { Document, PageFormat } from '@asposefoss/pdf';चरण 3: मौजूदा PDF खोलें और पृष्ठ संपादित करें
Document.OpenFile() फ़ाइल पथ से PDF खोलता है; Document.Open() एक इन-मेमोरी Uint8Array को स्वीकार करता है। पृष्ठों को निरीक्षण किया जा सकता है और उसी स्थान पर संपादित किया जा सकता है, और Document.WriteTo() परिणाम को वापस लिखता है।
import { Document } from '@asposefoss/pdf';
// Open from disk (or Document.Open(uint8array) for in-memory data)
const doc = Document.OpenFile('input.pdf');
// Inspect and edit pages
const pages = doc.Pages;
console.log(pages.length);
pages[0].Rotate = 90;
doc.RemovePage(2); // 1-based page number
doc.Reorder([3, 1, 2]);
// Save
doc.WriteTo('output.pdf'); // or: const bytes = doc.Save();
चरण 4: शून्य से नया PDF बनाएं
Document.New() दिए गए PageFormat पर एक खाली दस्तावेज़ शुरू करता है। Page.AddText() स्थित टेक्स्ट रखता है, और Document.AddPage() आगे के पृष्ठ जोड़ता है।
import { Document, PageFormat } from '@asposefoss/pdf';
const doc = Document.New(PageFormat.A4); // one blank A4 page
doc.Pages[0].AddText('Hello', 72, 720, { fontSize: 14 });
doc.AddPage(PageFormat.A4.landscape()); // append more as you go
doc.WriteTo('scratch.pdf');चरण 5: पृष्ठों को विभाजित करें, निकालें, और मिलाएँ
Document.Split() प्रत्येक पृष्ठ के लिए एक Document लौटाता है। Document.ExtractPages() 1-आधारित, दोहराव की अनुमति वाले पृष्ठ सूची को लेता है और केवल उन पृष्ठों के साथ एक नया Document लौटाता है। Document.Append() और Document.InsertPage() दस्तावेज़ों के बीच पृष्ठों की प्रतिलिपि बनाते हैं, और Document.Merge() कई दस्तावेज़ों को एक में संयोजित करता है।
const parts = doc.Split(); // one Document per page
const chapter = doc.ExtractPages([3, 4, 5]); // subset (1-based, repeats allowed) as a new Document
docA.Append(docB); // copy all of docB's pages onto docA
docA.InsertPage(1, docB.Pages[0]); // copy a single page across documents
सामान्य समस्याएँ और समाधान
Document.OpenFile() throws InvalidPasswordError. PDF पासवर्ड-सुरक्षित है और कोई पासवर्ड (या गलत पासवर्ड) प्रदान नहीं किया गया। पास { password: '...' } to Document.OpenFile() / Document.Open().
RemovePage() or ExtractPages() गलत पृष्ठ को हटाता या निकालता है। ये मेथड्स 1-आधारित पेज नंबर लेती हैं, जबकि doc.Pages एक साधारण 0-आधारित array है — दो indexing schemes को मिलाना आसान है।
WriteTo() output अपेक्षा से बड़ा है। डिफ़ॉल्ट save xref/object-stream compression का उपयोग नहीं करता। Pass { compressed: true } to Document.WriteTo() इसे सक्षम करने के लिए।
पर किए गए संपादन doc.Pages[i] सहेजी गई फ़ाइल में दिखाई नहीं देते। पेज संपादन को कॉल करने से पहले होना चाहिए। Document.WriteTo() / Document.Save() — कोई अलग “commit” चरण नहीं है, लेकिन सहेजने के बाद किए गए संपादन पहले से डिस्क पर लिखी गई फ़ाइल में परिलक्षित नहीं होंगे।
अक्सर पूछे जाने वाले प्रश्न
मैं फ़ाइल पथ के बजाय इन-मेरी बफ़र से PDF कैसे लोड करूँ?
एक Uint8Array को Document.Open() में पास करें, Document.OpenFile() के पथ के बजाय।
मैं पृष्ठ को कैसे घुमा सकता हूँ?
Set page.Rotate को 90, 180, या 270 पर सेट करें, फिर दस्तावेज़ को Document.WriteTo() के साथ सहेजें।
क्या मैं एक दस्तावेज़ से एक पृष्ठ को दूसरे में कॉपी कर सकता हूँ?
हाँ — Document.InsertPage(at, sourcePage) दिए गए 1-आधारित स्थान पर दूसरे दस्तावेज़ से एक पृष्ठ कॉपी करता है, पूरे दस्तावेज़ को कॉपी किए बिना।
क्या Document.ExtractPages() एक ही पृष्ठ को दो बार प्रदर्शित होने की अनुमति देता है?
हाँ. Document.ExtractPages() को पास की गई पृष्ठ-संख्या सूची दोहराव की अनुमति देती है, इसलिए वही स्रोत पृष्ठ परिणाम में एक से अधिक बार दिखाई दे सकता है।