Aspose.PDF FOSS for TypeScript este o bibliotecă open-source pentru crearea, editarea, conversia,
și securizarea documentelor PDF în aplicații Node.js (>=22). Clasele Document și Page
sunt punctele de intrare centrale: Document.OpenFile() / Document.Open() încarcă fișiere existente
sau octeți în memorie, Document.New() pornește un document gol, iar WriteTo() / Save()
scriu rezultatul înapoi, opțional cu comprimare xref-stream. Proiectul este un
pachet fără dependențe (Node.js este singura cerință de runtime) și se află în dezvoltare activă
în stadiu incipient (versiunea curentă 0.1.0).
Dincolo de editarea de bază a documentului și a paginii — împărțirea, combinarea, extragerea, reordonarea și
adăugarea paginilor cu Document.Split(), Document.Merge(), Document.ExtractPages() și
Document.Append() — biblioteca convertește pagini și documente întregi în alte formate cu
ToHtml(), ToMarkdown(), ToDocx(), ToSvg(), ToImage() și ToEpub(). Suportul pentru adnotări acoperă evidențierea, sublinierea, ondulat, tăiere, link, notă-text, text liber și
marcaj de ștampilă prin metode precum Page.AddHighlight() și Page.AddStamp(). Câmpurile AcroForm
(text, casetă de bifare, buton radio, casetă combo, casetă listă și buton de apăsare) sunt create cu
clasa Form și subclasele sale tipizate Field, iar documentele pot fi criptate cu AES-128,
AES-256 sau RC4, semnate digital cu Document.Sign() și redactate cu
Document.Redact() / Page.ApplyRedactions().
Aspose.PDF FOSS for TypeScript este lansat sub licența MIT fără taxe de runtime sau restricții de utilizare (vezi secțiunea de instalare de mai jos). Pentru familia de produse enterprise, vezi Aspose.PDF — Enterprise Product Family.
Document.OpenFile() / Document.Open(), sau începe de la zero cu Document.New()Document.Split(), Document.Merge(), Document.ExtractPages(), Document.Reorder(), şi Document.Append()Document.SetMetadata() / Document.GetMetadata()Document.WriteTo(), opţional comprimată prin fluxuri xref şi fluxuri de obiecteDocument.ToHtml() și în Markdown în stil GitHub cu Document.ToMarkdown().docx reflowed sau fixed-layout cu Document.ToDocx() / Page.ToDocx()Page.ToSvg() sau octeți raster PNG/TIFF cu Page.ToImage()Document.ToEpub() pentru distribuție pe cititoare electronicePage.AddHighlight(), Page.AddUnderline(), Page.AddSquiggly() și Page.AddStrikeOut()Page.AddTextNote() și Page.AddFreeText()Page.AddStamp() și linkuri clicabile cu Page.AddLink()Annotation.Flatten() expusă pe subtipuri tipizate precum MarkupAnnotation și StampAnnotationForm (AddTextField(), AddCheckbox(), AddRadioGroup(), AddComboBox(), AddListBox(), AddPushButton())SetStyle() și GenerateAppearance() pe clasele de câmp tipizate, cum ar fi TextField, ChoiceField și ButtonFieldSetActions() pe orice FieldDocument.FlattenForm()encrypt a lui Document.WriteTo(), cu Permissions granulareDocument.Sign() și verificați semnăturile cu Document.VerifySignatures()Document.AddDocumentTimestamp()Document.Redact(), Document.RedactText() și Page.ApplyRedactions()Deschide un PDF și redă-l în mai multe formate de ieșire într-o singură trecere.
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);
Încarcă un PDF, editează paginile și metadatele sale și scrie-l înapoi cu compresie.
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
Porniți un document gol, adăugați text poziționat și adăugați o pagină suplimentară.
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');
Criptează un PDF existent cu o pereche de parole utilizator/proprietar și AES-256, restricționând copierea și modificarea.
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 este lansat sub licența MIT, permițând utilizarea gratuită în produse comerciale fără taxe de rulare. Codul sursă este disponibil public pe GitHub.
Pachetul vizează Node.js 22 și versiunile ulterioare și nu are alte dependențe în timpul execuției. Consultați secțiunea de instalare de mai sus pentru comanda de instalare curentă.
Biblioteca citește și scrie PDF, Markdown, SVG și TIFF și poate genera DOCX, HTML, PNG și EPUB.
Folosiți Document.New(PageFormat.A4) pentru a produce un document gol, apoi adăugaţi pagini şi salvaţi cu Document.WriteTo().
Nu este necesară nicio cheie de licență sau pas de activare. Biblioteca rulează complet nelicențiată, gratuit, sub Licența MIT.