Aspose.PDF FOSS for TypeScript är ett open-source-bibliotek för att skapa, redigera, konvertera,
och säkra PDF-dokument i Node.js (>=22)-applikationer. Klasserna Document och Page
är de centrala ingångspunkterna: Document.OpenFile() / Document.Open() laddar befintliga filer
eller minnes-bytes, Document.New() startar ett tomt dokument, och WriteTo() / Save()
skriver tillbaka resultatet, valfritt med xref-stream-komprimering. Projektet är ett
paket utan beroenden (Node.js är det enda körningskravet) och är under aktiv
tidig utveckling (för närvarande version 0.1.0).
Utöver grundläggande dokument- och sidredigering — delning, sammanslagning, extrahering, omordning, och
tillägg av sidor med Document.Split(), Document.Merge(), Document.ExtractPages() och
Document.Append() — konverterar biblioteket sidor och hela dokument till andra format med
ToHtml(), ToMarkdown(), ToDocx(), ToSvg(), ToImage() och ToEpub(). Annotationsstöd
omfattar markering, understrykning, vågig linje, genomstrykning, länk, text-notering, fri text och
stämpel-markup via metoder som Page.AddHighlight() och Page.AddStamp(). AcroForm-fält
(text, kryssruta, radioknapp, kombinationsruta, listruta och tryckknapp) byggs med
Form-klassen och dess typade Field-subklasser, och dokument kan krypteras med AES-128,
AES-256 eller RC4, digitalt signeras med Document.Sign(), och maskeras med
Document.Redact() / Page.ApplyRedactions().
Aspose.PDF FOSS for TypeScript är släppt under MIT-licensen utan körningsavgifter eller användningsrestriktioner (se installationsavsnittet nedan). För företagsproduktfamiljen, se Aspose.PDF — Enterprise Product Family.
Document.OpenFile() / Document.Open(), eller starta tom med Document.New()Document.Split(), Document.Merge(), Document.ExtractPages(), Document.Reorder() och Document.Append()Document.SetMetadata() / Document.GetMetadata()Document.WriteTo(), valfritt komprimerat via xref-strömmar och objektströmmarDocument.ToHtml() och till GitHub-flavored Markdown med Document.ToMarkdown().docx-utdata med Document.ToDocx() / Page.ToDocx()Page.ToSvg() eller raster PNG/TIFF-bytes med Page.ToImage()Document.ToEpub() för distribution till e-läsarePage.AddHighlight(), Page.AddUnderline(), Page.AddSquiggly() och Page.AddStrikeOut()Page.AddTextNote() och Page.AddFreeText()Page.AddStamp() och klickbara länkar med Page.AddLink()Annotation.Flatten() som är exponerad på typade underklasser som MarkupAnnotation och StampAnnotationForm-klassen (AddTextField(), AddCheckbox(), AddRadioGroup(), AddComboBox(), AddListBox(), AddPushButton())SetStyle() och GenerateAppearance() på typade fältklasser som TextField, ChoiceField och ButtonFieldSetActions() på valfritt FieldDocument.FlattenForm()Document.WriteTo()s encrypt-alternativ, med detaljerade PermissionsDocument.Sign() och verifiera signaturer med Document.VerifySignatures()Document.AddDocumentTimestamp()Document.Redact(), Document.RedactText() och Page.ApplyRedactions()Öppna en PDF och rendera den till flera nedströmsformat i ett pass.
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);
Läs in en PDF, redigera dess sidor och metadata, och skriv tillbaka den med komprimering.
import { Document } from '@asposefoss/pdf';
// Öppna från disk (eller Document.Open(uint8array) för data i minnet)
const doc = Document.OpenFile('input.pdf');
// Inspektera och redigera sidor
console.log(doc.Pages.length);
doc.Pages[0].Rotate = 90;
doc.RemovePage(2); // 1-baserat sidnummer
doc.Reorder([3, 1, 2]);
// Metadata
doc.SetMetadata({ title: 'Report', author: 'Jane', custom: { Dept: 'R&D' } });
// Spara
doc.WriteTo('output.pdf'); // eller: const bytes = doc.Save();
doc.WriteTo('small.pdf', { compressed: true }); // xref-ström + objektströmmar
Starta ett tomt dokument, lägg till placerad text och lägg till en annan sida.
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');
Kryptera en befintlig PDF med ett användar-/ägarlösenordpar och AES-256, och begränsa kopiering och ändring.
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 är släppt under MIT-licensen, vilket möjliggör fri användning i kommersiella produkter utan driftskostnader. Källkoden är offentligt tillgänglig på GitHub.
Paketet riktar sig mot Node.js 22 och senare och har inga andra körningsberoenden. Se installationsavsnittet ovan för det aktuella installationskommandot.
Biblioteket läser och skriver PDF, Markdown, SVG och TIFF, och kan generera DOCX, HTML, PNG och EPUB-utdata.
Använd Document.New(PageFormat.A4) för att skapa ett tomt dokument, lägg sedan till sidor och spara med Document.WriteTo().
Ingen licensnyckel eller aktiveringssteg krävs. Biblioteket körs helt utan licens utan kostnad under MIT-licensen.