1. محصولات
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for TypeScript

Aspose.PDF FOSS برای TypeScript

کتابخانهٔ منبع باز TypeScript برای ایجاد، ویرایش، تبدیل، حاشیه‌نویسی و ایمن‌سازی اسناد PDF — تحت مجوز MIT، بدون وابستگی.

Aspose.PDF FOSS — کتابخانه PDF متن‌باز TypeScript

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.

ویرایش سند و صفحه

  • PDFها را از دیسک یا بایت‌های در-حافظه با Document.OpenFile() / Document.Open() باز کنید، یا به صورت خالی با Document.New() شروع کنید
  • صفحات را با Document.Split()، Document.Merge()، Document.ExtractPages()، Document.Reorder() و Document.Append() تقسیم، ادغام، استخراج، باز ترتیب و افزودن کنید
  • متادیتای سند را با Document.SetMetadata() / Document.GetMetadata() بخوانید و به‌روزرسانی کنید
  • خروجی را با Document.WriteTo() بنویسید، به‌صورت اختیاری با استفاده از جریان‌های xref و جریان‌های شیء فشرده می‌شود

کجا استفاده می‌شود

  • خطوط لولهٔ ترکیب PDF در Backend که فایل‌های ورودی را تقسیم، ترکیب و باز ترتیب می‌دهند
  • سرویس‌های استخراج صفحه برای تقسیم‌بندی فصل یا فاکتور
  • مدیریت متادیتای سند برای تطابق و بایگانی
  • تولید خروجی بهینه‌سازی‌شده برای ذخیره‌سازی برای مخازن اسناد با حجم بالا

تبدیل فرمت

  • سندهای کامل را به HTML رندر کنید با Document.ToHtml() و به Markdown با طعم GitHub با Document.ToMarkdown()
  • خروجی .docx بازآرایی یا ثابت را با Document.ToDocx() / Page.ToDocx() تولید کنید
  • صفحات جداگانه را به SVG مستقل رندر کنید با Page.ToSvg() یا بایت‌های رستر PNG/TIFF با Page.ToImage()
  • به فرمت EPUB صادر کنید با Document.ToEpub() برای توزیع در دستگاه‌های خواننده الکترونیکی

کجا استفاده می‌شود

  • انتشار خطوط لوله‌ای که PDFها را به HTML یا Markdown آماده برای وب تبدیل می‌کند
  • تولید تصویر کوچک و پیش‌نمایش برای سیستم‌های مدیریت سند
  • بایگانی PDFها به صورت اسناد Word قابل ویرایش
  • گردش کار توزیع کتاب‌های الکترونیکی

حاشیه‌نویسی و نشانه‌گذاری

  • افزودن نشانه‌گذاری متن با Page.AddHighlight()، Page.AddUnderline()، Page.AddSquiggly() و Page.AddStrikeOut()
  • افزودن یادداشت‌های چسبان و متن‌های مستقل با Page.AddTextNote() و Page.AddFreeText()
  • قرار دادن حاشیه‌نویسی‌های مهر چسبی با Page.AddStamp() و پیوندهای قابل کلیک با Page.AddLink()
  • صاف‌سازی هر حاشیه‌نویسی به محتوای صفحه با متد Annotation.Flatten() که در زیرنوع‌های تایپ‌شده‌ای مانند MarkupAnnotation و StampAnnotation در دسترس است

کجا استفاده می‌شود

  • ابزارهای بازبینی اسناد و علامت‌گذاری
  • جریان‌کارهای حاشیه‌نویسی و نظردهی مشارکتی
  • قرار دادن مهر تأیید در جریان‌کارهای امضا
  • انتشار فقط-خواندنی حاشیه‌نویسی قبلاً تعاملی

AcroForms

  • اضافه کردن فیلدهای متن، چک‌باکس، رادیو، کامبو‌باکس، لیست‌باکس و دکمه فشاردهی با کلاس Form (AddTextField(), AddCheckbox(), AddRadioGroup(), AddComboBox(), AddListBox(), AddPushButton())
  • استایل‌دهی و به‌روزرسانی ظاهر فیلدها با SetStyle() و GenerateAppearance() در کلاس‌های فیلدهای نوع TextField، ChoiceField و ButtonField
  • اتصال رفتار فیلدها با SetActions() بر روی هر Field
  • صاف‌سازی فرم تکمیل‌شده به محتوای صفحهٔ ثابت با Document.FlattenForm()

محل استفاده

  • فرم‌های دولتی، مالیاتی و ثبت‌نامی قابل پر کردن
  • پر کردن پیشین برنامه‌ای فرم‌ها از رکوردهای پایگاه‌داده
  • صاف‌سازی فرم‌های ارسالی قبل از بایگانی طولانی‌مدت
  • نظرسنجی‌های تعاملی و اسناد پذیرش

امنیت، امضا و حذف

  • با استفاده از گزینه encrypt متد Document.WriteTo() خروجی را با AES-128، AES-256 یا RC4 رمزگذاری و با رمز عبور محافظت کنید، با Permissions دقیق
  • اسناد را به‌صورت دیجیتال با Document.Sign() امضا کنید و امضاها را با Document.VerifySignatures() تأیید کنید
  • با Document.AddDocumentTimestamp() زمان‌سنجی‌های معتبر اضافه کنید
  • مناطق حساس یا متن‌های مطابقت‌یافته را به‌صورت دائم با Document.Redact()، Document.RedactText() و Page.ApplyRedactions() حذف کنید

محل استفاده

  • توزیع گزارش‌های محرمانه با رمزهای عبور برای هر گیرنده
  • قراردادهای امضاشده دیجیتالی و دارای مهر زمان
  • حذف اطلاعات شخصی (PII) برای رعایت قوانین قبل از انتشار عمومی
  • ردپای حسابرسی مقاوم در برابر دستکاری برای صنایع نظارتی

یک PDF را به HTML، Markdown و DOCX تبدیل کنید

یک 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 build
import { 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

ایجاد یک PDF جدید از ابتدا

یک سند خالی ایجاد کنید، متن موقعیت‌یافته اضافه کنید و صفحه دیگری اضافه کنید.

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

یک 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 چیست؟

Aspose.PDF FOSS for TypeScript تحت مجوز MIT منتشر شده است، که استفاده رایگان در محصولات تجاری بدون هزینه‌های زمان اجرا را امکان‌پذیر می‌سازد. کد منبع به‌صورت عمومی در GitHub در دسترس است.

چگونه Aspose.PDF FOSS for TypeScript را نصب کنم؟

این بسته هدف‌گذاری برای Node.js 22 و نسخه‌های بعدی دارد و هیچ وابستگی زمان اجرا دیگری ندارد. برای دستور نصب فعلی، بخش نصب بالا را ببینید.

کدام فرمت‌های فایل را Aspose.PDF FOSS for TypeScript پشتیبانی می‌کند؟

کتابخانه می‌تواند PDF، Markdown، SVG و TIFF را بخواند و بنویسد و می‌تواند خروجی DOCX، HTML، PNG و EPUB تولید کند.

چگونه یک سند PDF جدید ایجاد کنم؟

از Document.New(PageFormat.A4) برای تولید یک سند خالی استفاده کنید، سپس صفحات را اضافه کنید و با Document.WriteTo() ذخیره کنید.

آیا برای استفاده از Aspose.PDF FOSS for TypeScript به کلید لایسنس نیاز است؟

کلید لایسنس یا مرحله فعال‌سازی مورد نیاز نیست. کتابخانه به‌صورت کاملاً بدون لایسنس و بدون هزینه تحت مجوز MIT اجرا می‌شود.

  

منابع پشتیبانی و آموزش

 فارسی