Aspose.PDF FOSS for TypeScript یک کتابخانه منبع باز برای ایجاد، ویرایش، تبدیل،
و ایمنسازی اسناد PDF در برنامههای Node.js (>=22) است. کلاسهای Document و Page
نقاط ورودی مرکزی هستند: Document.OpenFile() / Document.Open() فایلهای موجود
یا بایتهای در-حافظه را بارگذاری میکنند، Document.New() یک سند خالی را آغاز میکند،
و WriteTo() / Save() نتیجه را دوباره مینویسند، بهصورت اختیاری با فشردهسازی xref-stream. این پروژه یک
بسته بدون وابستگی (Node.js تنها نیاز runtime است) است و تحت توسعه فعال
در مرحله اولیه قرار دارد (در حال حاضر نسخه 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 منتشر شده است بدون هزینههای runtime یا محدودیتهای استفاده (به بخش نصب در زیر مراجعه کنید). برای خانوادهٔ محصولات سازمانی، ببینید 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 و StampAnnotation در دسترس استForm (AddTextField(), AddCheckbox(), AddRadioGroup(), AddComboBox(), AddListBox(), AddPushButton())SetStyle() و GenerateAppearance() در کلاسهای فیلدهای نوع TextField، ChoiceField و ButtonFieldSetActions() بر روی هر FieldDocument.FlattenForm()encrypt متد Document.WriteTo() خروجی را با AES-128، AES-256 یا RC4 رمزگذاری و با رمز عبور محافظت کنید، با Permissions دقیقDocument.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 اجرا میشود.