Troubleshooting

Troubleshooting

FontSource, DataSource ve PdfPlugin Doğrudan Örneklenince NotImplementedError Fırlatır

FontSource, DataSource ve PdfPlugin soyut temel sınıflardır. Her biri, temel uygulamanın tasarım gereği NotImplementedError fırlattığı bir kanca metodunu bildirir ve somut bir alt sınıfın bunu geçersiz kılması beklenir:

Temel sınıfSoyut kancaBunun yerine bu somut alt sınıflardan birini kullanın
FontSourceget_font_definitions()FileFontSource, FolderFontSource, MemoryFontSource, SystemFontSource
DataSourceread_bytes() / write_bytes()FileDataSource, StreamDataSource, ByteArrayDataSource
PdfPluginprocess()Merger, Optimizer, Splitter, TextExtractor

Bu üç temel sınıftan birinde NotImplementedError fırlatıldığını görürseniz, çözüm neredeyse her zaman eşleşen somut sınıfı takmaktır. Yazı tipi keşfi için, FontSource‘yi doğrudan kullanmak yerine FontRepository ile somut bir kaynak kaydedin:

import aspose_pdf

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

Aynı desen düşük kodlu eklentilere de uygulanır — somut DataSource giriş/çıkışları olan bir PluginOptions alt sınıfı oluşturun ve PdfPlugin yerine somut bir eklenti aracılığıyla çalıştırın:

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(), çıplak bir Shading örneğinde NotImplementedError fırlatır

Shading — PDF gölgelendirme desenleri tarafından kullanılan sınırlı bölge renk örneklemesi için temel sınıf — _color_at() iç kancasına devrederek color_at() ve pattern_color_at() uygular; bu kancanın varsayılan bir gövdesi yoktur. Normal kullanımda Shading‘i kendiniz oluşturmazsınız: kütüphanenin kendi PDF ayrıştırıcısı, bir gölgelendirme kaynağıyla karşılaştığında her desteklenen ShadingType için doğru iç alt sınıfı oluşturur ve tanımadığı gölgelendirme tipleri için temel sınıfa geri dönmek yerine None döndürür. NotImplementedError, yalnızca uygulama kodu Shading‘i doğrudan örnekleyip, gerçek bir _color_at() uygulaması sağlamak için alt sınıflamadan color_at() veya pattern_color_at() çağırdığında erişilebilir.

Ayrıca Bakınız

 Türkçe