Aspose.PDF FOSS for TypeScript Fitur
Aspose.PDF FOSS untuk TypeScript Fitur
Halaman ini meninjau area kemampuan utama Aspose.PDF FOSS untuk TypeScript dan kelas-kelas yang berfungsi sebagai titik masuknya, sehingga Anda dapat menemukan halaman panduan pengembang yang tepat untuk tugas yang sedang dikerjakan. Setiap area dibahas secara mendalam di halaman masing-masing.
Manajemen Dokumen dan Halaman
Document adalah titik masuk untuk setiap operasi: Document.New() memulai dokumen kosong pada PageFormat yang diberikan, dan Document.OpenFile() / Document.Open() memuat yang sudah ada dari jalur file atau byte dalam memori. doc.Pages adalah array dari objek Page, dan Document.WriteTo() / Document.Save() menulis hasilnya kembali.
import { Document, PageFormat } from '@asposefoss/pdf';
const doc = Document.New(PageFormat.A4);
doc.Pages[0].AddText('Hello from Aspose.PDF FOSS!', 72, 720, { fontSize: 14 });
doc.WriteTo('hello.pdf');Lihat Core API untuk siklus hidup dokumen, pemisahan, penggabungan, dan perakitan halaman.
Konversi Format
Document.ToHtml(), Document.ToDocx(), dan Document.ToMarkdown() merender setiap halaman dokumen ke format lain; metode yang sama tersedia pada Page untuk merender satu halaman, serta Page.ToImage() untuk output raster PNG dan Page.ToSvg() untuk SVG mandiri.
const doc = Document.OpenFile('report.pdf');
const html = doc.ToHtml(); // standalone HTML, all pages
const png = doc.Pages[0].ToImage({ scale: 2 }); // PNG bytes for page 1
Lihat Conversion untuk seluruh rangkaian format ekspor dan opsi.
Anotasi
Page.AddHighlight() dan metode saudaranya Page.Add*() membuat anotasi markup dan bentuk; masing-masing mengembalikan pegangan Annotation yang hidup. Annotation.Flatten() menanam tampilan anotasi langsung ke dalam aliran konten halaman dan menghapusnya dari /Annots, menjadikannya permanen dan tidak interaktif.
const highlight = doc.Pages[0].AddHighlight({ quadPoints: [72, 700, 200, 700, 72, 685, 200, 685] });
highlight.Flatten();Lihat Annotations untuk seluruh rangkaian jenis anotasi dan pencarian teks anotasi.
Formulir dan Perataan Bidang
AcroForm bidang dibuat melalui doc.Form, sebuah facade Form, atau langsung pada Page dengan Page.AddTextField() / Page.AddCheckbox(). Form.AddTextField() dan Form.AddCheckbox() mengembalikan pegangan bidang yang metode Flatten() miliknya menanamnya ke dalam konten statis dengan cara yang sama seperti Annotation.Flatten().
const field = doc.Form.AddTextField({
page: 0, rect: [72, 660, 300, 680], name: 'FullName', value: 'Jane Doe',
});
field.Flatten();Lihat Forms untuk seluruh set tipe bidang.
Security
Document.OpenFile() dan Document.Open() menerima opsi password untuk membuka dokumen yang dilindungi, dan Document.Save() menerima opsi encrypt untuk melindungi satu saat menyimpan. Document.Sign() dan Document.Certify() menambahkan tanda tangan digital, dan Document.VerifySignatures() memeriksa setiap tanda tangan yang sudah ada dalam dokumen.
import { Document, InvalidPasswordError } from '@asposefoss/pdf';
try {
const doc = Document.OpenFile('secret.pdf', { password: 'hunter2' });
doc.WriteTo('decrypted.pdf');
} catch (e) {
if (e instanceof InvalidPasswordError) console.error('wrong password');
else throw e;
}Lihat Security untuk enkripsi, penandatanganan, dan verifikasi tanda tangan.
Redaction
Page.AddRedact() menandai wilayah persegi panjang untuk redaksi tanpa mengubah halaman terlebih dahulu; Page.ApplyRedactions() kemudian menulis ulang aliran konten secara destruktif, menghapus konten yang ditandai secara permanen dan mengembalikan jumlah redaksi yang diterapkan.
page.AddRedact({ rect: [220, 550, 460, 566], fill: [0, 0, 0], overlayText: '[REDACTED]' });
const applied = page.ApplyRedactions();Lihat Redaction untuk mark-mode vs. redaksi yang diterapkan secara lebih rinci.
Struktur Dokumen dan Aksesibilitas
Document.AutoTag() menyimpulkan dan membuat /StructTreeRoot dari tata letak halaman — heading berdasarkan pengelompokan ukuran font, paragraf, dan (dengan opts.alt) gambar — dan mengembalikan AutoTagReport. Document.GetStructTree() membaca kembali pohon struktur yang dihasilkan, dan Document.ValidatePdfUa() memeriksa dokumen terhadap subset yang dapat diperiksa mesin dari PDF/UA-1.
const report = doc.AutoTag({ lang: 'en-US', title: 'Quarterly Report', tables: true });
console.log(report);Lihat Structure untuk outlines, tagging, dan named destinations.
Tips dan Praktik Terbaik
- Ubah objek
Pageyang diakses melaluidoc.Pagessecara langsung — anotasi, bidang, atau halaman yang disimpan dalam variabel terpisah dan tidak diambil dari dokumen langsung tidak akan tercermin ketika Anda memanggilSave()/WriteTo(). Flatten()tersedia padaAnnotationdan penangan bidang formulir (TextField,CheckboxField, dan tipe bidang lainnya) — panggil sekali konten interaktif harus menjadi konten halaman yang permanen dan tidak dapat diedit.- Panggil
Page.ApplyRedactions()hanya setelah setiap tandaPage.AddRedact()untuk halaman tersebut telah ditambahkan; tanda yang ditambahkan setelah pemanggilan tidak akan diterapkan. - Tangkap
InvalidPasswordErrorsecara khusus sebelum penangkap umum yang lebih luas saat memanggilDocument.OpenFile()/Document.Open()pada input yang tidak terpercaya. Document.AutoTag()menghasilkan pohon struktur heuristik — selalu periksa hasilnya secara acak denganDocument.GetStructTree()atauValidatePdfUa()daripada mengasumsikan kepatuhan aksesibilitas penuh.
Masalah Umum
| Isu | Penyebab | Perbaikan |
|---|---|---|
Document.OpenFile() / Document.Open() melempar InvalidPasswordError | Dokumen ini dilindungi kata sandi dan tidak ada kata sandi, atau kata sandi yang salah, yang diberikan | Berikan { password: '...' } ke Document.OpenFile() / Document.Open() |
| Tanda redaksi tidak berpengaruh | Page.ApplyRedactions() tidak pernah dipanggil, atau dipanggil sebelum tanda ditambahkan | Panggil Page.AddRedact() untuk setiap tanda terlebih dahulu, kemudian Page.ApplyRedactions() sekali |
| Field atau anotasi yang diratakan masih ditampilkan sebagai interaktif | Flatten() dipanggil pada salinan bukan pada handle yang dikembalikan oleh pemanggilan Add*() | Panggil Flatten() pada objek yang dikembalikan langsung oleh AddTextField() / AddHighlight() / dll. |
ValidatePdfUa() masih melaporkan struktur yang hilang setelah AutoTag() | AutoTag() bersifat heuristik dan mungkin tidak menandai setiap gambar tanpa callback alt | Berikan fungsi opts.alt ke AutoTag() untuk menyediakan teks alt untuk gambar |
FAQ
Apakah Aspose.PDF FOSS untuk TypeScript bergantung pada mesin PDF komersial?
Tidak. Itu dirilis di bawah lisensi MIT dan logika rendering, konversi, serta penandatanganannya berjalan sepenuhnya di TypeScript/JavaScript.
Apakah saya dapat mengonversi PDF langsung ke HTML, Markdown, atau DOCX?
Ya — Document.ToHtml(), Document.ToMarkdown(), dan Document.ToDocx() merender setiap halaman dokumen; metode Page.ToHtml() / Page.ToMarkdown() / Page.ToDocx() yang setara merender satu halaman.
Apa perbedaan antara menandai dan menerapkan redaksi?
Page.AddRedact() hanya menandai sebuah wilayah — konten yang mendasarinya masih ada dan dapat disalin hingga Page.ApplyRedactions() dipanggil, yang secara destruktif menghapusnya.
Bagaimana cara membuat anotasi atau bidang formulir menjadi permanen dan tidak dapat diedit?
Panggil Flatten() pada objek yang dikembalikan oleh pemanggilan Add*() yang membuatnya — Annotation.Flatten() untuk anotasi, atau Flatten() milik pegangan bidang itu sendiri untuk bidang AcroForm.
Ke mana saya harus pergi selanjutnya?
Getting Started mencakup instalasi dan contoh kerja pertama. Panduan pengembang ini melanjutkan dengan halaman khusus untuk setiap area kemampuan yang ditautkan di atas.
API Reference Ringkasan
| Kelas/Metode | Deskripsi |
|---|---|
Document | Titik masuk — buat, muat, simpan, dan kelola PDF |
Document.New() / Document.OpenFile() / Document.Open() | Mulai dokumen kosong, atau muat satu dari jalur file atau byte dalam memori |
Document.WriteTo() / Document.Save() | Tuliskan dokumen ke jalur file atau kembalikan bytes |
Document.ToHtml() / Document.ToDocx() / Document.ToMarkdown() | Render setiap halaman ke format lain |
Page.ToImage() / Page.ToSvg() | Render satu halaman ke PNG atau SVG |
Page.AddHighlight() dan metode anotasi Page.Add*() lainnya | Buat anotasi, mengembalikan handle yang aktif |
Annotation.Flatten() | Menyematkan tampilan anotasi ke dalam konten halaman statis |
Form / Form.AddTextField() / Form.AddCheckbox() | AcroForm facade dan pembuatan field |
Document.Sign() / Document.Certify() / Document.VerifySignatures() | Tambahkan atau verifikasi tanda tangan digital |
Page.AddRedact() / Page.ApplyRedactions() | Tandai dan terapkan penyensoran konten |
Document.AutoTag() / Document.GetStructTree() | Buat dan baca pohon struktur logis dokumen |