Flatten PDF – C# Beispiele

PDF (Portable Document Format) ist ein beliebtes Dateiformat, das häufig für den Austausch und die Speicherung von digitalen Dokumenten verwendet wird. Mit diesem vielseitigen Format können Sie komplexe Dokumente mit verschiedenen Elementen wie Text, Bildern, Formularen und mehr erstellen. In bestimmten Situationen kann es jedoch notwendig sein, ein PDF-Dokument zu reduzieren, d. h. es in eine statische, nicht interaktive Datei zu konvertieren, die problemlos weitergegeben, gedruckt oder archiviert werden kann. In diesem Artikel wird erklärt, was es bedeutet, eine PDF-Datei zu reduzieren und wie man dies mit der Aspose.HTML for .NET-Bibliothek macht.

Was bedeutet es, eine PDF-Datei zu reduzieren?

Das Reduzieren einer PDF-Datei bedeutet, dass alle Dokumentebenen zu einer einzigen Hintergrundebene zusammengeführt werden. Bei diesem Vorgang werden interaktive Elemente wie ausfüllbare Formularfelder und bearbeitbarer Text aus dem Dokument entfernt und das Dokument somit “flach” gemacht. Das Ergebnis ist eine statische PDF-Datei, die nicht mehr bearbeitet oder in ihrem Erscheinungsbild verändert werden kann und sich daher ideal zum Weitergeben, Drucken oder Archivieren eignet.

Warum eine PDF-Datei reduzieren?

Das Reduzieren eines PDF-Dokuments ist ein Prozess, der je nach Ihren spezifischen Anforderungen mehrere Vorteile haben kann. Es gibt mehrere Gründe, warum Sie eine PDF-Datei reduzieren möchten:

Unabhängig davon, ob Ihre Ziele mit der Sicherheit, der Dateigröße, dem Druck, der Archivierung oder der Benutzerfreundlichkeit zusammenhängen, kann die Reduzierung einer PDF-Datei die gewünschten Ergebnisse liefern.

Wie reduziert man eine PDF-Datei in C#?

Die Komprimierung eines PDF-Dokuments ist ein nützliches Verfahren, um die Stabilität und Sicherheit eines Dokuments zu gewährleisten und seine Kompatibilität mit Druckern oder Softwareanwendungen zu verbessern. Durch die Konvertierung von HTML- oder MHTML-Dateien in reduzierte PDF-Dateien mithilfe von C#-Code können wir problemlos statische, nicht interaktive PDF-Dokumente erstellen.

Aspose.HTML for .NET bietet die Eigenschaft FormFieldBehaviour der Klasse PdfSaveOptions, um PDF-Dokumente nach ihrer Konvertierung aus HTML oder MHTML zu reduzieren. Diese Eigenschaft wird verwendet, um das Verhalten von Formularfeldern in einem PDF-Dokument festzulegen. Wenn der Wert auf FormFieldBehaviour.Flattened gesetzt wird, werden alle Formularfelder im PDF-Dokument reduziert.

HTML-zu-PDF-Konvertierung und PDF-Flattening

Um eine PDF-Datei mit Aspose.HTML for .NET zu reduzieren, müssen Sie zunächst eine HTML-Datei in ein PDF-Dokument konvertieren. Die HTML-Datei kann interaktive Formulare enthalten, die in PDF konvertiert und reduziert werden müssen. Hier ein Beispiel für die Konvertierung von HTML in PDF und die Verwendung der FormFieldBehaviour-Eigenschaft zum Reduzieren von PDF:

 1// Flatten PDF during HTML to PDF conversion using C#
 2
 3// Prepare a path to an HTML source file
 4string sourcePath = Path.Combine(DataDir, "SampleHtmlForm.html");
 5
 6// Initialize an HTML document from the file
 7using HTMLDocument document = new HTMLDocument(sourcePath);
 8
 9// Prepare PDF save options
10PdfSaveOptions options = new PdfSaveOptions
11{
12    // Flatten all form fields
13    FormFieldBehaviour = FormFieldBehaviour.Flattened
14};
15
16// Prepare a path to the result file
17string resultPath = Path.Combine(OutputDir, "form-flattened.pdf");
18
19// Convert HTML to PDF
20Converter.ConvertHTML(document, options, resultPath);

Auf diese Weise können Sie eine HTML-Datei mit C# ganz einfach in eine reduzierte PDF-Datei umwandeln. Dieser Prozess ist unkompliziert und kann mit wenigen Codezeilen durchgeführt werden. Schauen wir uns die Schritte an, die wir unternommen haben:

  1. Verwenden Sie einen der Konstruktoren der Klasse HTMLDocument, um eine HTML-Datei zu laden. Im Beispiel lädt der Konstruktor HTMLDocument(sourcePath) das HTML-Dokument aus einem lokalen Dateisystem.
  2. Erstellen Sie eine Instanz der Klasse PdfSaveOptions, die verwendet wird, um die Optionen für das Speichern eines PDF-Dokuments anzugeben. In diesem Fall wird die Eigenschaft FormFieldBehaviour von PdfSaveOptions auf FormFieldBehaviour.Flattened gesetzt, was bedeutet, dass alle Formularfelder im HTML-Dokument bei der Erstellung des PDF-Dokuments reduziert werden.
  3. Rufen Sie die Methode ConvertHTML() auf, um HTML unter Verwendung der angegebenen Optionen in PDF zu konvertieren, und das resultierende PDF-Dokument wird unter resultPath gespeichert.

Konvertierung von MHTML in PDF und PDF-Flattening

Das folgende C#-Beispiel zeigt, wie ein MHTML-Dokument, das sich unter sourcePath befindet, in ein verkleinertes PDF-Dokument konvertiert und unter outputPath gespeichert wird:

 1// Flatten PDF during MHTML to PDF conversion using C#
 2
 3// Prepare a path to an MHTML source file
 4string sourcePath = Path.Combine(DataDir, "SampleHtmlForm.mhtml");
 5
 6// Initialize PDF save options
 7PdfSaveOptions options = new PdfSaveOptions
 8{
 9    // Flatten all form fields
10    FormFieldBehaviour = FormFieldBehaviour.Flattened
11};
12
13// Prepare a path to the result file
14string resultPath = Path.Combine(OutputDir, "document-flattened.pdf");
15
16// Convert MHTML to PDF
17Converter.ConvertMHTML(sourcePath, options, resultPath);

Um MHTML in PDF zu konvertieren, wobei die Eigenschaft FormFieldBehaviour angegeben wird, sollten Sie einige Schritte befolgen:

  1. Initialisieren Sie eine Instanz der Klasse PdfSaveOptions und geben Sie die Optionen zum Speichern des PDF-Dokuments an. In diesem Beispiel wird die Eigenschaft FormFieldBehaviour von PdfSaveOptions auf FormFieldBehaviour.Flattened gesetzt, was bedeutet, dass alle Formularfelder im MHTML-Dokument beim Erstellen des PDF-Dokuments reduziert werden.

  2. Verwenden Sie die Methode ConvertMHTML(), um MHTML in PDF zu konvertieren, die den Quellpfad, Optionen und outputPath als Parameter annimmt.

Was ist der Unterschied zwischen PDF-Dateien, die mit und ohne die Eigenschaft FormFieldBehaviour gespeichert werden?

  1. Wenn die Eigenschaft FormFieldBehaviour auf FormFieldBehaviour.Flattened gesetzt ist, werden Formularfelder im PDF-Dokument in einer Ebene des Dokuments zusammengeführt. Dies macht die Formularfelder flach, so dass sie nicht interaktiv sind und nicht bearbeitet werden können. Das Ergebnis ist ein statisches PDF-Dokument, das nicht mehr verändert werden kann.
  2. Ist hingegen die Eigenschaft FormFieldBehaviour auf FormFieldBehaviour.Interactive gesetzt, bleiben die Formularfelder im PDF-Dokument interaktiv. Dies bedeutet, dass die Benutzer die Formularfelder ausfüllen und Änderungen vornehmen können.
  3. In Aspose.HTML for .NET ist der Standardwert für die Eigenschaft FormFieldBehaviour FormFieldBehaviour.Interactive. Wenn die FormFieldBehaviour-Eigenschaft nicht explizit festgelegt ist, bleiben Formularfelder im PDF-Dokument interaktiv, so dass Benutzer sie ausfüllen und bearbeiten können.

Sie können die vollständigen C#-Beispiele und Datendateien von GitHub herunterladen.

Aspose.HTML bietet kostenlose Online- Konverter zur Konvertierung von HTML-, XHTML-, MHTML-, EPUB-, XML- und Markdown-Dateien in verschiedene gängige Formate. Sie können ganz einfach HTML in PDF, HTML in JPG, SVG in PDF, MHTML in PDF oder MD in HTML konvertieren. Wählen Sie einfach die Datei aus, wählen Sie das zu konvertierende Format, und schon sind Sie fertig. Das geht schnell und ist kostenlos!

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.