Aspose.PDF FOSS for TypeScript is een open-source bibliotheek voor het maken, bewerken, converteren,
en beveiligen van PDF-documenten in Node.js (>=22) toepassingen. De Document- en Page-klassen
zijn de centrale toegangspunten: Document.OpenFile() / Document.Open() laden bestaande bestanden
of in-memory bytes, Document.New() start een leeg document, en WriteTo() / Save()
schrijven het resultaat terug, eventueel met xref-stream compressie. Het project is een
zero-dependency pakket (Node.js is de enige runtime-vereiste) en bevindt zich in actieve
early-stage ontwikkeling (momenteel versie 0.1.0).
Beyond core document and page editing — splitting, merging, extracting, reordering, and
appending pages with Document.Split(), Document.Merge(), Document.ExtractPages(), and
Document.Append() — the library converts pages and whole documents to other formats with
ToHtml(), ToMarkdown(), ToDocx(), ToSvg(), ToImage(), and ToEpub(). Annotation
support covers highlight, underline, squiggly, strikeout, link, text-note, free-text, and
stamp markup through methods like Page.AddHighlight() and Page.AddStamp(). AcroForm
fields (text, checkbox, radio, combo box, list box, and push button) are built with the
Form class and its typed Field subclasses, and documents can be encrypted with AES-128,
AES-256, or RC4, digitally signed with Document.Sign(), and redacted with
Document.Redact() / Page.ApplyRedactions().
Aspose.PDF FOSS for TypeScript wordt uitgebracht onder de MIT-licentie zonder runtime-kosten of gebruikersbeperkingen (zie de installatiesectie hieronder). Voor de enterprise-productfamilie, zie Aspose.PDF — Enterprise Product Family.
Document.OpenFile() / Document.Open(), of start leeg met Document.New()Document.Split(), Document.Merge(), Document.ExtractPages(), Document.Reorder() en Document.Append()Document.SetMetadata() / Document.GetMetadata()Document.WriteTo(), eventueel gecomprimeerd via xref-streams en object-streamsDocument.ToHtml() en naar GitHub-flavored Markdown met Document.ToMarkdown().docx output met Document.ToDocx() / Page.ToDocx()Page.ToSvg() of raster PNG/TIFF-bytes met Page.ToImage()Document.ToEpub() voor e-reader distributiePage.AddHighlight(), Page.AddUnderline(), Page.AddSquiggly() en Page.AddStrikeOut()Page.AddTextNote() en Page.AddFreeText()Page.AddStamp() en klikbare koppelingen met Page.AddLink()Annotation.Flatten()-methode die beschikbaar is op getypeerde subtypen zoals MarkupAnnotation en StampAnnotationForm-klasse (AddTextField(), AddCheckbox(), AddRadioGroup(), AddComboBox(), AddListBox(), AddPushButton())SetStyle() en GenerateAppearance() op getypeerde veldklassen zoals TextField, ChoiceField en ButtonFieldSetActions() op elk FieldDocument.FlattenForm()Document.WriteTo()’s encrypt optie, met granulaire PermissionsDocument.Sign() en verifieer handtekeningen met Document.VerifySignatures()Document.AddDocumentTimestamp()Document.Redact(), Document.RedactText() en Page.ApplyRedactions()Open een PDF en render deze naar verschillende downstream-formaten in één keer.
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);
Laad een PDF, bewerk de pagina’s en metadata, en schrijf deze weer terug met compressie.
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
Start een leeg document, voeg gepositioneerde tekst toe en voeg een andere pagina toe.
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');
Versleutel een bestaande PDF met een gebruiker/eigenaar-wachtwoordpaar en AES-256, waarbij kopiëren en wijzigen worden beperkt.
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 is uitgebracht onder de MIT License, wat gratis gebruik in commerciële producten mogelijk maakt zonder runtimekosten. De broncode is openbaar beschikbaar op GitHub.
Het pakket richt zich op Node.js 22 en later en heeft geen andere runtime-afhankelijkheden. Zie de installatiesectie hierboven voor de huidige installopdracht.
De bibliotheek leest en schrijft PDF, Markdown, SVG en TIFF, en kan DOCX, HTML, PNG en EPUB-uitvoer genereren.
Gebruik Document.New(PageFormat.A4) om een leeg document te maken, voeg vervolgens pagina’s toe en sla op met Document.WriteTo().
Er is geen licentiesleutel of activatiestap vereist. De bibliotheek draait volledig zonder licentie en kost niets onder de MIT-licentie.