Aspose.PDF FOSS for TypeScript jest biblioteką open-source służącą do tworzenia, edytowania, konwertowania,
i zabezpieczania dokumentów PDF w aplikacjach Node.js (>=22). Klasy Document i Page są centralnymi punktami wejścia: Document.OpenFile() / Document.Open() ładują istniejące pliki
lub bajty w pamięci, Document.New() rozpoczyna pusty dokument, a WriteTo() / Save()
zapisują wynik, opcjonalnie z kompresją xref-stream. Projekt jest pakietem bez zależności (Node.js jest jedynym wymogiem środowiska uruchomieniowego) i znajduje się w aktywnym
wczesnym etapie rozwoju (obecnie wersja 0.1.0).
Poza podstawową edycją dokumentów i stron — dzieleniem, scalaniem, wyodrębnianiem, zmianą kolejności oraz
dodawaniem stron przy użyciu Document.Split(), Document.Merge(), Document.ExtractPages() i
Document.Append() — biblioteka konwertuje strony i całe dokumenty do innych formatów przy użyciu
ToHtml(), ToMarkdown(), ToDocx(), ToSvg(), ToImage() oraz ToEpub(). Obsługa adnotacji
obejmuje podświetlenie, podkreślenie, falistą linię, przekreślenie, link, notatkę tekstową, wolny tekst oraz
znaczek poprzez metody takie jak Page.AddHighlight() i Page.AddStamp(). Pola AcroForm
(tekst, pole wyboru, przycisk radiowy, pole kombinowane, lista i przycisk) są budowane za pomocą
klasy Form i jej typowanych podklas Field, a dokumenty mogą być szyfrowane przy użyciu AES-128,
AES-256 lub RC4, cyfrowo podpisane przy użyciu Document.Sign() oraz poddane redakcji za pomocą
Document.Redact() / Page.ApplyRedactions().
Aspose.PDF FOSS for TypeScript jest udostępniane na licencji MIT bez opłat za środowisko uruchomieniowe ani ograniczeń użytkowania (zobacz sekcję instalacji poniżej). Dla rodziny produktów enterprise, zobacz Aspose.PDF — Enterprise Product Family.
Document.OpenFile() / Document.Open(), lub rozpocznij od pustego dokumentu za pomocą Document.New()Document.Split(), Document.Merge(), Document.ExtractPages(), Document.Reorder(), i Document.Append()Document.SetMetadata() / Document.GetMetadata()Document.WriteTo(), opcjonalnie skompresowany przy użyciu strumieni xref i strumieni obiektówDocument.ToHtml() oraz do Markdown w stylu GitHub przy użyciu Document.ToMarkdown().docx w formacie reflowable lub fixed-layout za pomocą Document.ToDocx() / Page.ToDocx()Page.ToSvg() lub do rastrowych bajtów PNG/TIFF za pomocą Page.ToImage()Document.ToEpub() w celu dystrybucji na czytniki e-bookówPage.AddHighlight(), Page.AddUnderline(), Page.AddSquiggly() i Page.AddStrikeOut()Page.AddTextNote() oraz Page.AddFreeText()Page.AddStamp() oraz klikalne odnośniki przy użyciu Page.AddLink()Annotation.Flatten(), dostępnej w typowanych podtypach, takich jak MarkupAnnotation i StampAnnotationForm (AddTextField(), AddCheckbox(), AddRadioGroup(), AddComboBox(), AddListBox(), AddPushButton())SetStyle() i GenerateAppearance() w typowanych klasach pól, takich jak TextField, ChoiceField i ButtonFieldSetActions() na dowolnym FieldDocument.FlattenForm()encrypt metody Document.WriteTo(), z szczegółowymi PermissionsDocument.Sign() i zweryfikuj podpisy przy użyciu Document.VerifySignatures()Document.AddDocumentTimestamp()Document.Redact(), Document.RedactText() i Page.ApplyRedactions()Otwórz plik PDF i wyświetl go w kilku formatach wyjściowych w jednym przebiegu.
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);
Wczytaj plik PDF, edytuj jego strony i metadane oraz zapisz go ponownie z kompresją.
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
Rozpocznij pusty dokument, dodaj tekst w określonej pozycji i dołącz kolejną stronę.
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');
Zaszyfruj istniejący plik PDF przy użyciu pary haseł użytkownika/właściciela i AES-256, ograniczając kopiowanie i modyfikację.
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 jest wydany na licencji MIT, co pozwala na darmowe użycie w produktach komercyjnych bez opłat za czas wykonywania. Kod źródłowy jest publicznie dostępny na GitHub.
Pakiet jest przeznaczony dla Node.js 22 i nowszych oraz nie ma innych zależności w czasie wykonywania. Zobacz sekcję instalacji powyżej, aby uzyskać bieżące polecenie instalacji.
Biblioteka odczytuje i zapisuje PDF, Markdown, SVG oraz TIFF, a także może generować DOCX, HTML, PNG i EPUB.
Użyj Document.New(PageFormat.A4), aby utworzyć pusty dokument, a następnie dodaj strony i zapisz przy użyciu Document.WriteTo().
Nie wymaga klucza licencyjnego ani kroku aktywacji. Biblioteka działa w pełni nie licencjonowana bez kosztów na licencji MIT.