PDFium Delphi Component Docs

Compressed 속성

컴포넌트: TPdf  ·  유닛: PDFium
SaveAs 또는 Save를 호출할 때 출력 PDF의 스트림을 FlateDecode로 압축할지 여부를 제어합니다. 저장 후 압축 엔진은 직렬화된 PDF를 검사해 압축되지 않은 스트림을 zlib-deflate 대응물로 바꾸고 xref table을 다시 작성합니다. 이미 압축된 스트림은 변경하지 않고 통과시킵니다

Syntax

property Compressed: Boolean; // default True

Description

Compressed는 다음 SaveAs(및 관련 메서드) 호출이 쓰기 후 스트림 압축을 적용할지 여부를 제어합니다. 기본값인 True이면 PDFium Delphi Component는 PDFium을 통해 문서를 직렬화한 뒤, 압축되지 않은 콘텐츠/메타데이터 스트림을 FlateDecode 압축 대응물로 교체하고 새 오프셋을 반영해 cross-reference table을 다시 작성하는 패스를 실행합니다

False이면 출력 스트림을 그대로 기록합니다. 결과 파일은 보통 2-10배 크지만 텍스트 편집기에서 열면 사람이 읽을 수 있어, 콘텐츠 스트림 디버깅, diff로 두 PDF 리비전 비교, 압축되지 않은 입력을 선호하는 PDF 구문 인식 도구에 출력을 공급하는 용도에 유용합니다

Compressed를 설정하면 다음 저장의 동작만 바뀌며 메모리 내 문서에는 영향을 주지 않습니다. 압축된 상태로 로드한 문서를 Compressed := False로 저장하면 출력 시 압축이 해제되고, 압축되지 않은 상태로 로드한 문서를 Compressed := True로 저장하면 출력 시 압축됩니다. 완전히 압축된 문서를 Compressed := True로 라운드트립하면 거의 동일한 파일 크기가 나옵니다. 엔진이 미리 압축된 스트림을 인식하여 다시 deflate하지 않기 때문입니다

Remarks

Example

// Save an uncompressed copy alongside the compressed original for debugging
begin
  Pdf.Active := True;
  Pdf.Compressed := True;
  Pdf.SaveAs('output.pdf'); // production copy
  Pdf.Compressed := False;
  Pdf.SaveAs('output_debug.pdf'); // human-readable copy
end;

See Also

SaveAs, Save, Active, Password