THotPDF.ScrubLoadedRedactionRemnants

로드된 문서 redaction 이후 남은 private 데이터와 도달할 수 없는 객체를 영구 제거합니다

Delphi 구문

function ScrubLoadedRedactionRemnants(
  out Report: THPDFSanitiseReport): Boolean;

설명

이 메서드는 로드된 객체 그래프 전체에 spRedactionCleanup 새니타이즈 프로필을 적용합니다

Redact와 첨부 파일 annotation, trailer의 문서 정보 딕셔너리, Catalog나 페이지 XMP 메타데이터, private /PieceInfo 메타데이터, embedded-file 이름 트리, associated file, portfolio, 그리고 분리된 payload stream을 제거합니다

이어서 순환에 안전한 reachability 패스가 Catalog에서 더 이상 도달할 수 없는 모든 간접 객체, 즉 사용하지 않는 글꼴, font program, 이미지, Form XObject, 메타데이터 stream, annotation, payload 객체를 삭제합니다. 살아있는 객체 번호는 선형 시간에 압축됩니다

이 메서드는 증분 저장을 비활성화하고 다음 로드 문서 저장이 전체 재작성을 수행하도록 강제하므로 제거된 바이트가 이전 revision에 남을 수 없습니다

관련 없는 액션, 페이지 콘텐츠, 내비게이션, 폼, 주석은 그대로 유지됩니다. 활성 콘텐츠도 함께 제거해야 한다면 SanitiseLoadedDocument를 사용하세요

리포트

MetadataEntriesRemoved, RedactAnnotationsRemoved, EmbeddedFilesRemoved, PayloadStreamsRemoved, UnreachableObjectsRemoved, PriorRevisionBytesDiscarded는 정리 원격 측정 값을 제공합니다

예제

var
  Report: THPDFSanitiseReport;
begin
  PDF.LoadFromFile('redacted-source.pdf');
  PDF.ApplyLoadedRedactions;
  if not PDF.ScrubLoadedRedactionRemnants(Report) then
    raise Exception.Create('Redaction cleanup was rejected');
  PDF.SaveLoadedDocument('redacted-final.pdf');
end;

참고: ApplyLoadedRedactions, Loaded Document Sanitisation