Troubleshooting

Troubleshooting

FontSource, DataSource, 및 PdfPlugin는 직접 인스턴스화될 때 NotImplementedError을(를) 발생시킵니다

FontSource, DataSource, 및 PdfPlugin는 추상 기본 클래스입니다. 각각은 기본 구현이 설계상 NotImplementedError을 발생시키도록 하는 하나의 훅 메서드를 선언하고, 구체적인 서브클래스가 이를 재정의하기를 기대합니다:

기본 클래스추상 훅대신 이러한 구체적인 하위 클래스 중 하나를 사용하십시오
FontSourceget_font_definitions()FileFontSource, FolderFontSource, MemoryFontSource, SystemFontSource
DataSourceread_bytes() / write_bytes()FileDataSource, StreamDataSource, ByteArrayDataSource
PdfPluginprocess()Merger, Optimizer, Splitter, TextExtractor

이 세 기본 클래스 중 하나에서 NotImplementedError가 발생하는 것을 보면, 해결 방법은 거의 항상 일치하는 구체 클래스로 교체하는 것입니다. 글꼴 검색을 위해서는 FontSource를 직접 사용하는 대신 FontRepository에 구체 소스를 등록하십시오:

import aspose_pdf

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

같은 패턴이 로우코드 플러그인에도 적용됩니다 — 구체적인 DataSource 입력/출력을 가진 PluginOptions 서브클래스를 만들고, PdfPlugin 자체가 아니라 구체 플러그인을 통해 실행하십시오:

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()는 순수 Shading 인스턴스에서 NotImplementedError을(를) 발생시킵니다

Shading — PDF 쉐이딩 패턴에서 사용되는 제한된 영역 색상 샘플링의 기본 클래스 — _color_at() 내부 훅을 위임하여 color_at() 및 pattern_color_at()를 구현합니다. 일반 사용에서는 Shading를 직접 생성하지 않습니다: 라이브러리 자체 PDF 파서는 쉐이딩 리소스를 만났을 때 각 지원되는 ShadingType에 대해 올바른 내부 서브클래스를 구축하고, 인식하지 못하는 쉐이딩 유형에 대해서는 기본 클래스로 되돌아가는 대신 None을 반환합니다. NotImplementedError은 애플리케이션 코드가 Shading을 직접 인스턴스화하고, 실제 _color_at() 구현을 제공하기 위해 서브클래싱하지 않은 상태에서 color_at() 또는 pattern_color_at()을 호출할 때만 접근할 수 있습니다.

참조

 한국어