Användningsfall

Denna guide visar verkliga användningsfall för Aspose.PDF FOSS för TypeScript, som omfattar dokumentgenerering, granskningsarbetsflöden, maskering, säker distribution, formulärbaserad datainsamling och taggad webbpublicering. Den kräver Node.js 22 eller senare.

Dokumentgenerering och siduppbyggnad

Skapa en PDF från grunden genom att starta ett tomt Document vid en given PageFormat, placera text med Page.AddText() och lägga till ytterligare sidor. Detta mönster ligger till grund för fakturagenerering, certifikatutskrift och rapportproduktionspipelines:

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');

Granskning och rödlinjemarkering med kommentarer

Markera ett delat utkast med markeringar, klistriga lappar och fritextkommentarer, och sedan införa granskningen i en slutgiltig, icke-redigerbar sida när den är godkänd:

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');

Maskering av känslig data före distribution

Markera och sedan destruktivt ta bort känsliga fält — ett anställd-ID, ett bankkontonummer — innan ett dokument lämnar en organisation:

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');

Säkra och signera dokument för distribution

Certifiera ett färdigt dokument, och sedan kryptera det med en specifik mottagarkertifikat så att endast den mottagaren kan öppna det:

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);
}

Samla in strukturerad data med ifyllbara formulär

Skapa ett ifyllbart intagsformulär, och sedan läsa de inskickade värdena från en återlämnad kopia — användbart för att bearbeta ifyllda ansökningsformulär utan en separat formulärinsändningsserver:

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);
}

Publicera taggade, webbklara dokument

Tagga ett dokuments logiska struktur, och sedan exportera det till semantisk HTML som flödar korrekt för webbläsare — exporten följer samma struktuträd som taggningssteget bygger:

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');

Se även

 Svenska