PDFium Delphi Component Docs

SaveAsDeduplicated 메서드

컴포넌트: TPdf  ·  유닛: PDFium
도달 불가능한 객체를 먼저 쓸어내고, 그다음 호환되는 폰트, 이미지, 폼 XObject를 하나의 공유 대표 객체로 합쳐 문서를 단일 클린 리비전으로 다시 씁니다

Syntax

function SaveAsDeduplicated(Stream: TStream; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): Boolean;

function SaveAsDeduplicated(const FileName: string; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): Boolean;

Description

PDFium이 현재 메모리 상의 문서를 비증분 복사본으로 먼저 기록한 뒤, 래퍼가 문서 전체 도달성 조사를 수행하여 SaveAsReachable과 정확히 같은 방식으로 도달 불가능한 모든 객체를 버립니다

그다음 폰트, 이미지, 폼 XObject를 지문화합니다. 각 후보 사전과 그 도달 가능한 서브그래프 전체, 원시 스트림 페이로드를 재귀적으로 해시하므로 중복은 내용 전체가 동일할 때만 병합됩니다

병합으로 사라진 중복을 가리키던 모든 교차 참조는 살아남은 대표 객체를 가리키도록 다시 쓰이고, 객체 번호와 세대는 안정적으로 유지되므로 살아남은 모든 교차 참조가 계속 유효합니다

출력은 객체 스트림과 교차 참조 스트림이 없는 단일 클래식 리비전이며, 재구성된 트레일러는 /Root, /Info, /ID를 그대로 전달합니다

Policies and limits

Example

Pdf.SaveAsDeduplicated('deduplicated.pdf', Report);
WriteLn('merged ', Report.MergedImageCount, ' images');

See Also

SaveAsReachable, SaveAs, SaveAsNormalizedContent