موارد استفاده

موارد استفاده

این راهنما موارد استفاده واقعی Aspose.PDF FOSS برای TypeScript را نشان می‌دهد، شامل تولید سند، گردش‌کارهای بازبینی، حذف اطلاعات حساس، توزیع امن، جمع‌آوری داده‌های مبتنی بر فرم، و انتشار وب برچسب‌دار. این راهنما نیاز به Node.js 22 یا بالاتر دارد.

تولید سند و ترکیب صفحات

یک PDF را از ابتدا بسازید با شروع یک Document خالی در PageFormat مشخص، قرار دادن متن با Page.AddText()، و افزودن صفحات بیشتر. این الگو پایهٔ تولید فاکتور، چاپ گواهینامه و خطوط تولید گزارش‌ها است:

import { Document, PageFormat } from '@asposefoss/pdf';

const doc = Document.New(PageFormat.A4); // one blank A4 page
doc.Pages[0].AddText('Monthly Report', 72, 720, { fontSize: 14 });
doc.AddPage(PageFormat.A4.landscape()); // append more as you go
doc.WriteTo('report.pdf');

بازبینی و ویرایش با حاشیه‌نویسی‌ها

یک پیش‌نویس مشترک را با هایلایت‌ها، یادداشت‌های چسبان و نظرات متنی آزاد علامت‌گذاری کنید، سپس پس از تأیید، بازبینی را به یک صفحه نهایی غیرقابل ویرایش تبدیل کنید:

const draft = Document.OpenFile('draft.pdf');
const page = draft.Pages[0];

page.AddHighlight({ quads: [72, 700, 300, 700, 72, 685, 300, 685], color: [1, 1, 0] });
const note = page.AddFreeText({
  rect: [320, 685, 500, 715],
  contents: 'Please confirm this figure before publishing.',
  fontSize: 10,
});

// Once the review is resolved, bake the comment into static content:
note.Flatten();
draft.WriteTo('reviewed.pdf');

حذف داده‌های حساس قبل از توزیع

علامت‌گذاری کنید و سپس به‌صورت مخرب فیلدهای حساس — شناسهٔ کارمند، شمارهٔ حساب بانکی — را پیش از خروج سند از سازمان حذف کنید:

const memo = Document.OpenFile('internal-memo.pdf');
const page2 = memo.Pages[0];

page2.AddRedact({
  rect: [220, 548, 460, 566],
  fill: [0, 0, 0],
  overlayText: '[REDACTED]',
  align: 'center',
  fontSize: 9,
  textColor: [1, 1, 1],
});
page2.ApplyRedactions(); // destructive — the covered content is gone
memo.WriteTo('memo-for-distribution.pdf');

امنیت و امضای اسناد برای توزیع

سند نهایی را اعتبارسنجی کنید، سپس آن را با گواهی دریافت‌کنندهٔ خاصی رمزنگاری کنید تا تنها همان دریافت‌کننده بتواند آن را باز کند:

async function secureAndDistribute(sourcePath: string): Promise<void> {
  const doc = Document.OpenFile(sourcePath);
  await doc.Certify(
    { certificate: authorCert, privateKey: authorKey },
    { permissions: 'form-fill', reason: 'Certifying the final report' },
  );

  const encryptedBytes = doc.Save({
    encrypt: {
      recipients: [{ certificate: recipientCertPem }],
      algorithm: 'aes256',
      permissions: { copying: false },
    },
  });
  writeFileSync('report-secure.pdf', encryptedBytes);
}

جمع‌آوری داده‌های ساختار یافته با فرم‌های قابل پرکردن

یک فرم ورودی قابل پرکردن بسازید، سپس مقادیر ارسال‌شده را از یک نسخهٔ بازگشتی بخوانید — برای پردازش فرم‌های درخواست پرشده بدون نیاز به سرور جداگانهٔ ارسال فرم مفید است:

const template = Document.New(PageFormat.A4);
const form = template.Form;
const pageNum = template.Pages[0].Number;

form.AddTextField({ page: pageNum, rect: [200, 670, 450, 690], name: 'FullName' });
form.AddCheckbox({ page: pageNum, rect: [200, 630, 218, 648], name: 'Subscribe' });
template.WriteTo('intake-form.pdf');

// Later, after the form comes back filled in:
const submitted = Document.OpenFile('intake-form-filled.pdf');
for (const field of submitted.Form.Fields) {
  console.log(field.FullName, '=', field.Value);
}

انتشار اسناد برچسب‌خورده و آمادهٔ وب

ساختار منطقی یک سند را برچسب‌گذاری کنید، سپس آن را به HTML معنایی صادر کنید که به‌درستی برای خوانندگان وب بازآرایی می‌شود — خروجی همان درخت ساختاری را که مرحلهٔ برچسب‌گذاری می‌سازد، دنبال می‌کند:

const source = Document.OpenFile('report.pdf');
const report = source.AutoTag({ title: true });
console.log(`tagged: ${report.headings} heading(s), ${report.paragraphs} paragraph(s)`);

const html = source.ToHtml(); // reflowable markup, built from the structure tree
writeFileSync('report.html', html, 'utf8');

همچنین ببینید:

 فارسی