Aspose.PDF FOSS for TypeScript هي مكتبة مفتوحة المصدر لإنشاء وتحرير وتحويل وتأمين مستندات PDF في تطبيقات Node.js (>=22) applications. الفئات Document و Page هي نقاط الدخول المركزية: Document.OpenFile() / Document.Open() تقوم بتحميل الملفات الموجودة أو البايتات في الذاكرة، Document.New() يبدأ مستندًا فارغًا، و WriteTo() / Save() يكتب النتيجة مرة أخرى، ويمكن اختيارياً ضغطها باستخدام ضغط xref-stream. المشروع هو حزمة بدون أي تبعيات (Node.js هو المتطلب الوحيد في وقت التشغيل) وهو تحت تطوير نشط في مرحلة مبكرة (الإصدار الحالي 0.1.0).
بعيدًا عن تحرير المستند والصفحة الأساسي — التقسيم، الدمج، الاستخلاص، إعادة الترتيب، وإضافة الصفحات باستخدام Document.Split(), Document.Merge(), Document.ExtractPages(), و Document.Append() — تقوم المكتبة بتحويل الصفحات والمستندات الكاملة إلى صيغ أخرى باستخدام ToHtml(), ToMarkdown(), ToDocx(), ToSvg(), ToImage(), و ToEpub(). دعم التعليقات التوضيحية يغطي التظليل، التسطير، الخط المتعرج، الشطب، الروابط، ملاحظة النص، النص الحر، وعلامات الطوابع من خلال طرق مثل Page.AddHighlight() و Page.AddStamp(). حقول AcroForm (نص، مربع اختيار، زر راديو، صندوق مركب، صندوق قائمة، وزر ضغط) تُبنى باستخدام الفئة Form وفئاتها الفرعية المصنفة Field، ويمكن تشفير المستندات باستخدام AES-128 أو AES-256 أو RC4، وتوقيعها رقميًا باستخدام Document.Sign(), وتعميمها باستخدام Document.Redact() / Page.ApplyRedactions().
Aspose.PDF FOSS for TypeScript تُصدر تحت رخصة MIT بدون رسوم تشغيل أو قيود على الاستخدام (انظر قسم التثبيت أدناه). لعائلة منتجات المؤسسة، انظر Aspose.PDF — Enterprise Product Family.
Document.OpenFile() / Document.Open()، أو ابدأ فارغًا باستخدام Document.New()Document.Split(), Document.Merge(), Document.ExtractPages(), Document.Reorder(), و Document.Append()Document.SetMetadata() / Document.GetMetadata()Document.WriteTo()، مع إمكانية الضغط عبر تدفقات xref وتدفقات الكائناتDocument.ToHtml() وإلى تنسيق Markdown بنكهة GitHub باستخدام Document.ToMarkdown().docx قابلة لإعادة التدفق أو ذات تخطيط ثابت باستخدام Document.ToDocx() / Page.ToDocx()Page.ToSvg() أو إلى بايتات PNG/TIFF النقطية باستخدام Page.ToImage()Document.ToEpub() لتوزيع على أجهزة القراءة الإلكترونيةPage.AddHighlight(), Page.AddUnderline(), Page.AddSquiggly(), و Page.AddStrikeOut()Page.AddTextNote() و Page.AddFreeText()Page.AddStamp() وروابط قابلة للنقر باستخدام Page.AddLink()Annotation.Flatten() المتاحة على الأنواع الفرعية مثل MarkupAnnotation و StampAnnotationForm (AddTextField(), AddCheckbox(), AddRadioGroup(), AddComboBox(), AddListBox(), AddPushButton())SetStyle() و GenerateAppearance() على فئات الحقول المكتوبة مثل TextField و ChoiceField و ButtonFieldSetActions() على أي FieldDocument.FlattenForm()encrypt في Document.WriteTo()، مع أذونات دقيقة PermissionsDocument.Sign() والتحقق من التوقيعات باستخدام Document.VerifySignatures()Document.AddDocumentTimestamp()Document.Redact() و Document.RedactText() و Page.ApplyRedactions()افتح ملف PDF وقم بتحويله إلى عدة صيغ لاحقة في عملية واحدة.
git clone https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-TypeScript.git
cd Aspose.PDF-FOSS-for-TypeScript
npm install
npm run buildimport { Document } from '@asposefoss/pdf';
const doc = Document.OpenFile('in.pdf');
const svg = doc.Pages[0].ToSvg(); // standalone <svg> string
// fs.writeFileSync('page1.svg', svg);
const png = doc.Pages[0].ToImage({ scale: 2 }); // Uint8Array of PNG bytes @144 DPI
// fs.writeFileSync('page1.png', png);
const html = doc.ToHtml(); // standalone semantic HTML, all pages
// fs.writeFileSync('out.html', html);
const md = doc.ToMarkdown(); // GFM Markdown, all pages
// fs.writeFileSync('out.md', md);
const docx = doc.ToDocx(); // .docx bytes, reflowed, images in the package
// fs.writeFileSync('out.docx', docx);
const fixed = doc.ToDocx({ mode: 'textbox' }); // .docx keeping each page's own geometry
// fs.writeFileSync('fixed.docx', fixed);
حمِّل ملف PDF، حرِّر صفحاته والبيانات الوصفية، واكتبها مرة أخرى مع الضغط.
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
console.log(doc.Pages.length);
doc.Pages[0].Rotate = 90;
doc.RemovePage(2); // 1-based page number
doc.Reorder([3, 1, 2]);
// Metadata
doc.SetMetadata({ title: 'Report', author: 'Jane', custom: { Dept: 'R&D' } });
// Save
doc.WriteTo('output.pdf'); // or: const bytes = doc.Save();
doc.WriteTo('small.pdf', { compressed: true }); // xref stream + object streams
ابدأ مستندًا فارغًا، أضف نصًا موضعًا، وألحق صفحة أخرى.
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');
تشفير ملف PDF موجود باستخدام زوج من كلمات مرور المستخدم/المالك وAES-256، مع تقييد النسخ والتعديل.
import { Document } from '@asposefoss/pdf';
const doc = Document.OpenFile('in.pdf');
doc.WriteTo('locked.pdf', {
encrypt: {
userPassword: 'open-me', // required to open (default '')
ownerPassword: 'full-rights', // default: same as userPassword
algorithm: 'aes256', // 'aes256' (default) | 'aes128' | 'rc4'
permissions: { copying: false, modifying: false },
encryptMetadata: true,
},
});
Aspose.PDF FOSS for TypeScript تم إصداره بموجب رخصة MIT، مما يسمح بالاستخدام المجاني في المنتجات التجارية دون أي رسوم تشغيل. الكود المصدري متاح للجمهور على GitHub.
الحزمة تستهدف Node.js 22 وما بعده ولا تحتوي على أي تبعيات وقت تشغيل أخرى. راجع قسم التثبيت أعلاه لأمر التثبيت الحالي.
تقوم المكتبة بقراءة وكتابة PDF، Markdown، SVG، و TIFF، ويمكنها إنشاء مخرجات DOCX، HTML، PNG، و EPUB.
استخدم Document.New(PageFormat.A4) لإنشاء مستند فارغ، ثم أضف صفحات واحفظ باستخدام Document.WriteTo().
لا يلزم مفتاح ترخيص أو خطوة تفعيل. تعمل المكتبة بالكامل بدون ترخيص دون أي تكلفة بموجب ترخيص MIT.