property Compressed: Boolean; // default True
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하지 않기 때문입니다
// 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;