function FlattenAllPages(nFlag: Integer = FLAT_NORMALDISPLAY): Boolean;
| nFlag | Integer. 모든 페이지에 적용할 평면화 프로파일을 고릅니다. 화면 보기에 최적화하려면 FLAT_NORMALDISPLAY(0, 기본값), 인쇄 출력에 최적화하려면 FLAT_PRINT(1)를 넘기세요 |
FLATTEN_SUCCESS(1)나 FLATTEN_NOTHINGTODO(2)를 반환했으면 True, 하나라도 FLATTEN_FAIL(0)을 반환했으면 FalseFlattenAllPages는 로드된 문서의 모든 페이지를 순회하며 각 페이지에 FlattenPage에 상응하는 호출을 하는 편의 래퍼입니다. 모든 페이지의 주석과 AcroForm 위젯이 한 번의 호출로 영구적이고 편집할 수 없는 페이지 콘텐츠로 병합됩니다
이 메서드는 모든 페이지가 FLATTEN_SUCCESS나 FLATTEN_NOTHINGTODO로 끝났을 때만 True를 반환합니다. 한 페이지라도 FLATTEN_FAIL을 반환하면 메서드는 False를 반환하지만, 나머지 페이지의 평면화는 계속 진행됩니다
문서에 채워진 폼 필드가 있다면 FlattenAllPages 전에 반드시 GenerateFormAppearances를 호출하세요. appearance stream이 없으면 필드 값이 평면화 출력에 나타나지 않습니다. 권장 전체 워크플로는 FormField[] 값 대입 → GenerateFormAppearances → FlattenAllPages → SaveAs입니다
한 페이지만 평면화하고 개별 결과 코드를 확인하려면 FlattenPage를 쓰세요
begin
// Fill fields, generate appearances, flatten entire document
Pdf1.FormField[0] := 'Jane Doe';
Pdf1.FormField[1] := '2026-05-20';
Pdf1.GenerateFormAppearances;
if Pdf1.FlattenAllPages(FLAT_NORMALDISPLAY) then
Pdf1.SaveAs('output_flat_all.pdf')
else
ShowMessage('One or more pages could not be flattened');
end;