function FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): Integer;
| nFlag | Integer. Kiest het flattenprofiel. Geef FLAT_NORMALDISPLAY (0, standaard) mee om de uitvoer voor schermweergave te optimaliseren, of FLAT_PRINT (1) voor geprinte uitvoer |
FLATTEN_SUCCESS (1) — annotaties zijn succesvol samengevoegd met de page content; FLATTEN_NOTHINGTODO (2) — de pagina had geen annotaties of widgets om te flattenen; FLATTEN_FAIL (0) — de operatie is misluktFlattenPage voegt alle annotaties en AcroForm-widgets op de huidige pagina samen in de permanente, niet-bewerkbare page content stream. Na het flattenen zijn de annotaties niet meer interactief — het zijn ordinaire graphics die niet meer te bewerken, te verwijderen of te submitten zijn. Dit is de standaardtechniek om een "op slot" zijnde PDF te maken die de visuele weergave van een ingevulde formulierpagina of geannoteerd document vastlegt
De parameter nFlag kiest het weergaveprofiel dat gebruikt wordt wanneer widgets in de page content getekend worden. Gebruik FLAT_NORMALDISPLAY (0) voor documenten die op het scherm bekeken worden en FLAT_PRINT (1) voor documenten die bedoeld zijn om te printen
Als de pagina ingevulde formuliervelden bevat, moet u eerst GenerateFormAppearances aanroepen vóór FlattenPage. Zonder appearance streams heeft de flattener niets visueels om samen te voegen en worden de veldwaarden zonder melding weggelaten uit de uitvoer. De aanbevolen volgorde voor één pagina is: FormField[]-waarden toewijzen → GenerateFormAppearances → FlattenPage → SaveAs
Gebruik FlattenAllPages om alle pagina's van een document in één aanroep te flattenen. Vergelijk de retourwaarde met FLATTEN_FAIL om fouten te detecteren; FLATTEN_NOTHINGTODO is geen fouttoestand
var
Res: Integer;
begin
Pdf1.PageIndex := 0;
// Vul een formulierveld, genereer appearances opnieuw en flatten daarna
Pdf1.FormField[0] := 'John Smith';
Pdf1.GenerateFormAppearances;
Res := Pdf1.FlattenPage(FLAT_NORMALDISPLAY);
if Res = FLATTEN_FAIL then
ShowMessage('Flatten failed')
else
Pdf1.SaveAs('output_flat.pdf');
end;