Aspose.PDF FOSS for TypeScript adalah pustaka sumber terbuka untuk membuat, mengedit, mengonversi,
dan mengamankan dokumen PDF dalam aplikasi Node.js (>=22). Kelas Document dan Page
adalah titik masuk utama: Document.OpenFile() / Document.Open() memuat file yang ada
atau byte dalam memori, Document.New() memulai dokumen kosong, dan WriteTo() / Save()
menulis hasil kembali, secara opsional dengan kompresi xref-stream. Proyek ini adalah
paket tanpa ketergantungan (Node.js adalah satu-satunya persyaratan runtime) dan sedang dalam pengembangan tahap awal yang aktif (saat ini versi 0.1.0).
Di luar pengeditan dokumen dan halaman inti — pemisahan, penggabungan, ekstraksi, penataan ulang, dan
penambahan halaman dengan Document.Split(), Document.Merge(), Document.ExtractPages(), dan
Document.Append() — pustaka ini mengonversi halaman dan seluruh dokumen ke format lain dengan
ToHtml(), ToMarkdown(), ToDocx(), ToSvg(), ToImage(), dan ToEpub(). Dukungan anotasi mencakup sorotan, garis bawah, garis bergelombang, coret, tautan, catatan-teks, teks bebas, dan
stempel markup melalui metode seperti Page.AddHighlight() dan Page.AddStamp(). Bidang AcroForm
(teks, kotak centang, radio, kotak kombo, kotak daftar, dan tombol dorong) dibangun dengan
kelas Form dan subclass Field yang bertipe, dan dokumen dapat dienkripsi dengan AES-128,
AES-256, atau RC4, ditandatangani secara digital dengan Document.Sign(), dan disensor dengan
Document.Redact() / Page.ApplyRedactions().
Aspose.PDF FOSS for TypeScript dirilis di bawah lisensi MIT tanpa biaya runtime atau pembatasan penggunaan (lihat bagian instalasi di bawah). Untuk keluarga produk enterprise, lihat Aspose.PDF — Enterprise Product Family.
Document.OpenFile() / Document.Open(), atau mulai kosong dengan Document.New()Document.Split(), Document.Merge(), Document.ExtractPages(), Document.Reorder(), dan Document.Append()Document.SetMetadata() / Document.GetMetadata()Document.WriteTo(), secara opsional terkompresi melalui aliran xref dan aliran objekDocument.ToHtml() dan ke Markdown gaya GitHub dengan Document.ToMarkdown().docx dengan alur kembali atau tata letak tetap menggunakan Document.ToDocx() / Page.ToDocx()Page.ToSvg() atau byte raster PNG/TIFF dengan Page.ToImage()Document.ToEpub() untuk distribusi e-readerPage.AddHighlight(), Page.AddUnderline(), Page.AddSquiggly(), dan Page.AddStrikeOut()Page.AddTextNote() dan Page.AddFreeText()Page.AddStamp() dan tautan yang dapat diklik dengan Page.AddLink()Annotation.Flatten() yang tersedia pada subtipe bertipe seperti MarkupAnnotation dan StampAnnotationForm (AddTextField(), AddCheckbox(), AddRadioGroup(), AddComboBox(), AddListBox(), AddPushButton())SetStyle() dan GenerateAppearance() pada kelas bidang bertipe seperti TextField, ChoiceField, dan ButtonFieldSetActions() pada setiap FieldDocument.FlattenForm()encrypt pada Document.WriteTo(), dengan Permissions yang terperinciDocument.Sign() dan verifikasi tanda tangan dengan Document.VerifySignatures()Document.AddDocumentTimestamp()Document.Redact(), Document.RedactText(), dan Page.ApplyRedactions()Buka PDF dan render ke beberapa format hilir dalam satu kali proses.
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);
Muat PDF, edit halaman dan metadata-nya, lalu tulis kembali dengan kompresi.
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
Mulai dokumen kosong, tambahkan teks yang diposisikan, dan tambahkan halaman lain.
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');
Enkripsi PDF yang sudah ada dengan pasangan password pengguna/pemilik dan AES-256, membatasi penyalinan dan modifikasi.
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 dirilis di bawah Lisensi MIT, memungkinkan penggunaan gratis dalam produk komersial tanpa biaya runtime. Kode sumber tersedia secara publik di GitHub.
Paket ini menargetkan Node.js 22 dan yang lebih baru serta tidak memiliki dependensi runtime lainnya. Lihat bagian instalasi di atas untuk perintah instalasi saat ini.
Perpustakaan ini membaca dan menulis PDF, Markdown, SVG, dan TIFF, serta dapat menghasilkan output DOCX, HTML, PNG, dan EPUB.
Gunakan Document.New(PageFormat.A4) untuk menghasilkan dokumen kosong, lalu tambahkan halaman dan simpan dengan Document.WriteTo().
Tidak diperlukan kunci lisensi atau langkah aktivasi. Perpustakaan berjalan sepenuhnya tanpa lisensi tanpa biaya di bawah Lisensi MIT.