Troubleshooting

Troubleshooting

FontSource, DataSource, dan PdfPlugin Menyebabkan NotImplementedError Saat Diinstansiasi Secara Langsung

FontSource, DataSource, dan PdfPlugin adalah kelas dasar abstrak. Setiap mendeklarasikan satu metode hook yang implementasi dasar menyebabkan NotImplementedError secara sengaja, dan mengharapkan subclass konkret untuk menimpanya:

Kelas dasarHook abstrakGunakan salah satu subclass konkret ini sebagai gantinya
FontSourceget_font_definitions()FileFontSource, FolderFontSource, MemoryFontSource, SystemFontSource
DataSourceread_bytes() / write_bytes()FileDataSource, StreamDataSource, ByteArrayDataSource
PdfPluginprocess()Merger, Optimizer, Splitter, TextExtractor

Jika Anda melihat NotImplementedError muncul dari salah satu dari tiga kelas dasar ini, solusinya hampir selalu mengganti dengan kelas konkret yang cocok. Untuk penemuan font, daftarkan sumber konkret dengan FontRepository alih-alih menggunakan FontSource secara langsung:

import aspose_pdf

aspose_pdf.FontRepository.add_source(
    aspose_pdf.FolderFontSource("./fonts", scan_subdirectories=True)
)

Pola yang sama berlaku untuk plugin low-code — buat subclass PluginOptions dengan input/output DataSource konkret dan jalankan melalui plugin konkret, bukan PdfPlugin itu sendiri:

import aspose_pdf

options = aspose_pdf.MergeOptions()
options.add_input(aspose_pdf.FileDataSource("part1.pdf"))
options.add_input(aspose_pdf.FileDataSource("part2.pdf"))
options.add_output(aspose_pdf.FileDataSource("merged.pdf"))
aspose_pdf.Merger().process(options)

Shading.color_at() Menyebabkan NotImplementedError pada Instance Shading yang Kosong

Shading — kelas dasar untuk sampling warna pada wilayah terbatas yang digunakan oleh pola shading PDF — mengimplementasikan color_at() dan pattern_color_at() dengan mendelegasikan ke hook internal _color_at() yang tidak memiliki badan default. Dalam penggunaan normal Anda tidak pernah membuat Shading secara manual: parser PDF bawaan perpustakaan membangun subclass internal yang tepat untuk setiap ShadingType yang didukung ketika menemukan sumber daya shading, dan mengembalikan None untuk tipe shading yang tidak dikenali alih-alih kembali ke kelas dasar. NotImplementedError hanya dapat dijangkau jika kode aplikasi menginstansiasi Shading secara langsung dan memanggil color_at() atau pattern_color_at() tanpa menurunkan kelasnya untuk menyediakan implementasi _color_at() yang sesungguhnya.

Lihat Juga

 Bahasa Indonesia