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)を返した場合は False ですFlattenAllPages は、読み込まれたドキュメントのすべてのページを走査し、各ページに FlattenPage 相当の処理を呼び出す簡易ラッパーです。全ページの注釈と AcroForm ウィジェットが、1 回の呼び出しで永続的で編集できないページコンテンツにマージされます
メソッドが True を返すのは、すべてのページが FLATTEN_SUCCESS または FLATTEN_NOTHINGTODO で完了した場合だけです。1 つのページでも FLATTEN_FAIL を返すとメソッドは False を返しますが、フラット化は残りのページに対して継続します
ドキュメントに入力済みのフォームフィールドが含まれる場合は、必ず FlattenAllPages の前に GenerateFormAppearances を呼び出してください。外観ストリームがないと、フィールド値はフラット化された出力に現れません。推奨される完全なワークフローは、FormField[] 値の代入 → GenerateFormAppearances → FlattenAllPages → SaveAs です
1 つのページだけをフラット化してその結果コードを確認する場合は、代わりに 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;