PDFium Delphi Component Docs

FlattenPage Methode

Komponente: TPdf  ·  Unit: PDFium
Glättet Anmerkungen und Formular-Widgets auf der aktuellen Seite zu dauerhaftem (nicht editierbarem) Seiteninhalt. nFlag wählt das Glättungsprofil: FLAT_NORMALDISPLAY (0) für die Bildschirmdarstellung oder FLAT_PRINT (1) für die Druckausgabe. Gibt FLATTEN_SUCCESS, FLATTEN_NOTHINGTODO oder FLATTEN_FAIL zurück. Rufen Sie GenerateFormAppearances zuerst auf, wenn Sie ausgefüllte Formularwerte glätten

Syntax

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

nFlagInteger. Wählt das Glättungsprofil. Übergeben Sie FLAT_NORMALDISPLAY (0, Standard), um die Ausgabe für die Bildschirmdarstellung zu optimieren, oder FLAT_PRINT (1) für die Druckausgabe

Return Value

Einer von drei ganzzahligen Konstanten: FLATTEN_SUCCESS (1) - Anmerkungen wurden erfolgreich in den Seiteninhalt zusammengeführt; FLATTEN_NOTHINGTODO (2) - die Seite hatte keine Anmerkungen oder Widgets zum Glätten; FLATTEN_FAIL (0) - die Operation ist fehlgeschlagen

Description

FlattenPage führt alle Anmerkungen und AcroForm-Widgets auf der aktuellen Seite in den dauerhaften, nicht editierbaren Seiteninhaltsstrom zusammen. Nach dem Glätten sind die Anmerkungen nicht mehr interaktiv — sie werden zu gewöhnlichen Grafiken, die nicht mehr bearbeitet, gelöscht oder übermittelt werden können. Dies ist die Standardtechnik zur Erzeugung eines „gesperrten" PDFs, das das visuelle Erscheinungsbild eines ausgefüllten Formulars oder eines kommentierten Dokuments bewahrt

Der Parameter nFlag wählt das Rendering-Profil, das beim Zeichnen der Widgets in den Seiteninhalt verwendet wird. Verwenden Sie FLAT_NORMALDISPLAY (0) für Dokumente, die am Bildschirm betrachtet werden, und FLAT_PRINT (1) für Dokumente, die gedruckt werden sollen

Wenn die Seite ausgefüllte Formularfelder enthält, müssen Sie GenerateFormAppearances vor FlattenPage aufrufen. Ohne Erscheinungsströme hat der Glätter keine visuelle Darstellung zum Zusammenführen und lässt die Feldwerte in der Ausgabe stillschweigend weg. Die empfohlene Reihenfolge für eine einzelne Seite lautet: FormField[]-Werte zuweisen → GenerateFormAppearances → FlattenPage → SaveAs

Um alle Seiten eines Dokuments mit einem Aufruf zu glätten, verwenden Sie FlattenAllPages. Prüfen Sie den Rückgabewert gegen FLATTEN_FAIL, um Fehler zu erkennen; FLATTEN_NOTHINGTODO ist kein Fehlerzustand

Example

var
  Res: Integer;
begin
  Pdf1.PageIndex := 0;
  // Ein Formularfeld ausfüllen, Erscheinungsbilder neu erzeugen, dann glätten
  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