PDFium Component Docs

FlattenPage Methode

Component: TPdf  ·  Unit: PDFium
Vereenvoudigt annotaties en form widgets op de huidige pagina tot permanente, niet-bewerkbare page content. nFlag selecteert het flattening profile: FLAT_NORMALDISPLAY (0) voor schermweergave of FLAT_PRINT (1) voor afdrukuitvoer. Geeft een van FLATTEN_SUCCESS, FLATTEN_NOTHINGTODO of FLATTEN_FAIL terug. Roep GenerateFormAppearances eerst aan wanneer je ingevulde form values wilt flattenen

Syntax

function FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): Integer;

nFlagInteger. Kiest het flattenprofiel. Geef FLAT_NORMALDISPLAY (0, standaard) mee om de uitvoer voor schermweergave te optimaliseren, of FLAT_PRINT (1) voor geprinte uitvoer

Return Value

Een van drie integer-constanten: 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 mislukt

Description

FlattenPage 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

Example

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;

See Also

FlattenAllPages, GenerateFormAppearances, SaveAs, Annotation