Aspose.PDF FOSS for TypeScript ist eine Open-Source-Bibliothek zum Erstellen, Bearbeiten, Konvertieren und Sichern von PDF-Dokumenten in Node.js (>=22)-Anwendungen. Die Klassen Document und Page sind die zentralen Einstiegspunkte: Document.OpenFile() / Document.Open() laden vorhandene Dateien oder In-Memory-Bytes, Document.New() startet ein leeres Dokument, und WriteTo() / Save() schreiben das Ergebnis zurück, optional mit xref-Stream-Kompression. Das Projekt ist ein paket ohne Abhängigkeiten (Node.js ist die einzige Laufzeitvoraussetzung) und befindet sich in aktiver Frühphasen-Entwicklung (derzeit Version 0.1.0).
Über die grundlegende Dokument- und Seitenbearbeitung hinaus — Aufteilen, Zusammenführen, Extrahieren, Neuordnen und Anhängen von Seiten mit Document.Split(), Document.Merge(), Document.ExtractPages() und Document.Append() — konvertiert die Bibliothek Seiten und ganze Dokumente in andere Formate mit ToHtml(), ToMarkdown(), ToDocx(), ToSvg(), ToImage() und ToEpub(). Die Annotationsunterstützung umfasst Hervorheben, Unterstreichen, Wellenlinie, Durchstreichen, Link, Text-Hinweis, Freitext und Stempel-Markup über Methoden wie Page.AddHighlight() und Page.AddStamp(). AcroForm-Felder (Text, Kontrollkästchen, Optionsfeld, Kombinationsfeld, Listfeld und Schaltfläche) werden mit der Klasse Form und ihren typisierten Field-Unterklassen erstellt, und Dokumente können mit AES-128, AES-256 oder RC4 verschlüsselt, digital signiert mit Document.Sign() und redigiert mit Document.Redact() / Page.ApplyRedactions() werden.
Aspose.PDF FOSS for TypeScript wird unter der MIT-Lizenz veröffentlicht, ohne Laufzeitgebühren oder Nutzungsbeschränkungen (siehe den Installationsabschnitt unten). Für die Enterprise-Produktfamilie siehe Aspose.PDF — Enterprise Product Family.
Document.OpenFile() / Document.Open(), oder beginnen Sie leer mit Document.New()Document.Split(), Document.Merge(), Document.ExtractPages(), Document.Reorder() und Document.Append()Document.SetMetadata() / Document.GetMetadata()Document.WriteTo(), optional komprimiert über xref-Streams und Objekt-StreamsDocument.ToHtml() und nach GitHub-flavored Markdown mit Document.ToMarkdown().docx-Ausgabe mit Document.ToDocx() / Page.ToDocx()Page.ToSvg() oder Raster-PNG/TIFF-Bytes mit Page.ToImage()Document.ToEpub() für die Verteilung auf E-ReadernPage.AddHighlight(), Page.AddUnderline(), Page.AddSquiggly() und Page.AddStrikeOut() hinzuPage.AddTextNote() und Page.AddFreeText() hinzuPage.AddStamp() und anklickbare Links mit Page.AddLink()Annotation.Flatten(), die auf typisierten Untertypen wie MarkupAnnotation und StampAnnotation verfügbar istForm-Klasse hinzu (AddTextField(), AddCheckbox(), AddRadioGroup(), AddComboBox(), AddListBox(), AddPushButton())SetStyle() und GenerateAppearance() bei typisierten Feldklassen wie TextField, ChoiceField und ButtonFieldSetActions() bei jedem FieldDocument.FlattenForm()encrypt-Option von Document.WriteTo() verschlüsseln, mit granularen PermissionsDocument.Sign() und Signaturen prüfen mit Document.VerifySignatures()Document.AddDocumentTimestamp()Document.Redact(), Document.RedactText() und Page.ApplyRedactions()Öffnen Sie ein PDF und rendern Sie es in einem Durchgang in mehrere nachgelagerte Formate.
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);
Laden Sie ein PDF, bearbeiten Sie dessen Seiten und Metadaten und schreiben Sie es mit Kompression wieder zurück.
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
Erstelle ein leeres Dokument, füge positionierten Text hinzu und hänge eine weitere Seite an.
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');
Verschlüsseln Sie ein vorhandenes PDF mit einem Benutzer-/Eigentümer-Passwortpaar und AES-256, wobei das Kopieren und Ändern eingeschränkt wird.
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 wird unter der MIT-Lizenz veröffentlicht, wodurch die kostenlose Nutzung in kommerziellen Produkten ohne Laufzeitgebühren ermöglicht wird. Der Quellcode ist öffentlich auf GitHub verfügbar.
Das Paket zielt auf Node.js 22 und höher ab und hat keine anderen Laufzeitabhängigkeiten. Siehe den Installationsabschnitt oben für den aktuellen Installationsbefehl.
Die Bibliothek liest und schreibt PDF, Markdown, SVG und TIFF und kann DOCX, HTML, PNG und EPUB-Ausgabe erzeugen.
Verwenden Sie Document.New(PageFormat.A4), um ein leeres Dokument zu erzeugen, dann fügen Sie Seiten hinzu und speichern Sie es mit Document.WriteTo().
Kein Lizenzschlüssel oder Aktivierungsschritt ist erforderlich. Die Bibliothek läuft vollständig unlizenzfrei kostenfrei unter der MIT License.