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:
- Im Hinblick auf die Sicherheit kann das Reduzieren eines PDF-Dokuments unbefugte Änderungen oder Fälschungen verhindern. Beim Reduzieren eines PDF-Dokuments werden alle Formularfelder mit der Hintergrundebene verschmolzen, wodurch es für jeden schwierig wird, den Inhalt zu ändern.
- Durch das Reduzieren einer PDF-Datei kann deren Dateigröße verringert werden, indem unnötige Informationen wie Formularfelder, Anmerkungen und Ebenen entfernt werden. Dies kann die Weitergabe, E-Mail oder Speicherung des Dokuments erleichtern, insbesondere wenn es groß oder komplex ist.
- Das Reduzieren einer PDF-Datei kann sicherstellen, dass sie richtig gedruckt wird, vor allem wenn sie komplexe Grafiken, Bilder oder Formularfelder enthält. Außerdem werden durch das Reduzieren des Dokuments alle Transparenzeffekte entfernt und alle Ebenen zu einer einzigen Ebene zusammengeführt, was dazu beitragen kann, Druckfehler zu vermeiden und die Druckqualität insgesamt zu verbessern.
- Das Reduzieren eines PDF-Dokuments macht es einfach zu benutzen, weil es die Notwendigkeit ausschließt, mit interaktiven Elementen zu interagieren, so dass es einfacher anzusehen, zu drucken oder weiterzugeben ist.
- Wenn Sie ein PDF-Dokument zur späteren Verwendung speichern und archivieren müssen, kann das Reduzieren eines Dokuments sicherstellen, dass es viele Jahre lang lesbar und zugänglich ist. Beim Reduzieren ist keine spezielle Software oder ein Plugin erforderlich, da das Dokument eine statische, nicht interaktive PDF-Datei ist.
- und mehr.
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:
- 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. - 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. - 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:
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.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?
- 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. - 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. - 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!