Wie man PDFs in IronPDF C# flacht
IronPDF glättet PDF-Dokumente in C# mit der Flatten()-Methode, indem es interaktive Formularfelder in statische Inhalte umwandelt, sodass das Dokument nicht mehr bearbeitet werden kann.
PDF-Dokumente enthalten oft interaktive Formulare mit ausfüllbaren Widgets wie Optionsfeldern, Kontrollkästchen, Textfeldern und Listen. Um diese Dokumente aus Sicherheits- oder Archivierungszwecken nicht bearbeitbar zu machen, glätten Sie die PDF-Datei. Dies ist der Fall, wenn man mit PDF-Formularen in Geschäftsanwendungen, juristischen Dokumenten oder Szenarien arbeitet, die einen permanenten Datensatz erfordern.
Schnellstart: Glätten Sie Ihr PDF in ein paar Zeilen
Verwenden Sie IronPDF, um PDF-Dokumente zu glätten, um alle Interaktivität zu entfernen und dauerhaften, nicht bearbeitbaren Inhalt zu erstellen. Dieses C#-Snippet lädt ein bestehendes PDF, entfernt alle ausfüllbaren Widgets und speichert das gesicherte Dokument.
-
Installieren Sie IronPDF mit NuGet Package Manager
-
Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.
var pdf = IronPdf.PdfDocument.FromFile("input.pdf"); pdf.Flatten(); pdf.SaveAs("flattened.pdf"); -
Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronPDF in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Minimaler Arbeitsablauf (5 Schritte)
- Installieren Sie IronPDF über den NuGet Package Manager
- Vorhandene PDF-Datei laden oder neue aus HTML erstellen
- Aufruf der Methode
Flatten - Speichern Sie das komprimierte PDF-Dokument
- Überprüfen Sie, dass Formularfelder entfernt werden
Wie kann ich ein PDF-Dokument in C#35 reduzieren?
Sobald IronPDF installiert ist, können Sie mit einem einzigen Methodenaufruf PDF-Dateien glätten. Der Prozess funktioniert bei bestehenden PDF-Dokumenten und bei PDFs, die Sie aus HTML-Dateien rendern müssen, bevor sie geglättet werden.
Das folgende Code-Beispiel verwendet die PdfDocument-Klasse, um ein bestehendes PDF zu laden. Für die dynamische PDF-Erzeugung rendern Sie das Formular mit der ChromePdfRenderer-Klasse, bevor Sie es glätten.
Um eine PDF-Datei zu glätten, rufen Sie die Flatten-Methode auf. Diese entfernt alle interaktiven Widgets einschließlich Radio-Buttons, Kontrollkästchen und Textfelder, sodass das Dokument nicht bearbeitbar wird.
Eingabe
:path=/static-assets/pdf/content-code-examples/how-to/pdf-image-flatten-csharp-flatten-pdf.cs
using IronPdf;
// Select the desired PDF File
PdfDocument pdf = PdfDocument.FromFile("before.pdf");
// Flatten the pdf
pdf.Flatten();
// Save as a new file
pdf.SaveAs("after_flatten.pdf");
Imports IronPdf
' Select the desired PDF File
Private pdf As PdfDocument = PdfDocument.FromFile("before.pdf")
' Flatten the pdf
pdf.Flatten()
' Save as a new file
pdf.SaveAs("after_flatten.pdf")
Ausgabe
Für komplexe Szenarien glätten Sie spezifische Seiten oder setzen Sie Formulardaten bevor Sie glätten. Übergeben Sie eine Liste von Null-basierten Seitenindizes, um nur diese Seiten zu glätten:
:path=/static-assets/pdf/content-code-examples/how-to/pdf-image-flatten-csharp-3.cs
using IronPdf;
// Load a PDF with fillable forms
PdfDocument pdf = PdfDocument.FromFile("form-document.pdf");
// Optionally, pre-fill form fields by name before flattening
pdf.Form.FindFormField("name").Value = "John Doe";
pdf.Form.FindFormField("email").Value = "john@example.com";
// Flatten only pages 1-3, passing their zero-based indexes
pdf.Flatten(new[] { 0, 1, 2 });
// Save the result
pdf.SaveAs("flattened-form.pdf");
Imports IronPdf
' Load a PDF with fillable forms
Dim pdf As PdfDocument = PdfDocument.FromFile("form-document.pdf")
' Optionally, pre-fill form fields by name before flattening
pdf.Form.FindFormField("name").Value = "John Doe"
pdf.Form.FindFormField("email").Value = "john@example.com"
' Flatten only pages 1-3, passing their zero-based indexes
pdf.Flatten(New Integer() {0, 1, 2})
' Save the result
pdf.SaveAs("flattened-form.pdf")
Wie kann ich überprüfen, ob das PDF geglättet ist?
Die folgende Ausgabe zeigt den Vorher- und Nachher-Zustand. Die erste PDF-Datei enthält bearbeitbare Formularfelder. Nachdem die Glättungsmethode ausgeführt wurde, wird das Dokument nicht bearbeitbar. Dieser Code funktioniert in jedem .NET-Projekt, einschließlich Blazor-Apps.
Flatten-Methode nicht mehr erkennbar sein.Überprüfen Sie die Anzahl der Formularfelder, um die erfolgreiche Reduzierung zu überprüfen:
:path=/static-assets/pdf/content-code-examples/how-to/pdf-image-flatten-csharp-4.cs
using IronPdf;
// Load the flattened PDF
PdfDocument flattenedPdf = PdfDocument.FromFile("flattened.pdf");
// FormFieldCollection exposes Count directly on the Form property
if (flattenedPdf.Form.Count == 0)
{
Console.WriteLine("PDF has been successfully flattened - no interactive fields remain.");
}
else
{
Console.WriteLine($"Warning: {flattenedPdf.Form.Count} form fields still exist.");
}
Imports IronPdf
' Load the flattened PDF
Dim flattenedPdf As PdfDocument = PdfDocument.FromFile("flattened.pdf")
' FormFieldCollection exposes Count directly on the Form property
If flattenedPdf.Form.Count = 0 Then
Console.WriteLine("PDF has been successfully flattened - no interactive fields remain.")
Else
Console.WriteLine($"Warning: {flattenedPdf.Form.Count} form fields still exist.")
End If
Die Iron Suite spielt eine entscheidende Rolle in unseren Operationen. Diese Werkzeuge erhöhen die Effizienz im gesamten Unternehmen, einschließlich der Erstellung von Grundrissen und der Verbesserung des Bestandsmanagements.
Was passiert mit Formularfeldern nach dem Glätten?
Wenn Sie ein PDF-Dokument glätten, wird jedes interaktive Formularelement Teil des Seiteninhalts. Formularfelder verwandeln sich in statischen Text und Grafiken:
- Textfelder werden zu normalem Text auf der Seite
- Kontrollkästchen und Optionsfelder werden zu statischen Bildern, die den ausgewählten Status anzeigen
- Dropdown-Menüs zeigen nur den ausgewählten Wert als Klartext an
- Digitale Signaturen werden visuell beibehalten, verlieren aber die kryptografische Validierung
Dieser Prozess ist nicht umkehrbar. Bewahren Sie eine Kopie des interaktiven PDF-Originals auf, falls Sie spätere Bearbeitungsmöglichkeiten benötigen. Beim Glätten bleiben Text- und Vektorinhalt wählbar, im Gegensatz zu Seitenrasterisierung zu Bildern, die jede Seite in ein flaches Bild umwandelt. Für Dokumente, die sowohl Sicherheit als auch Bearbeitbarkeit erfordern, verwenden Sie PDF-Berechtigungen und Passwörter anstelle von Flattening.
Wann sollte ich meine PDF-Dokumente glätten?
Häufige Fälle für das Glätten:
-
Archivierung rechtlicher Dokumente: Verflachen Sie Verträge und Vereinbarungen nach der Unterzeichnung, um inhaltliche Änderungen zu verhindern und die rechtliche Integrität zu wahren.
-
Berichtsverteilung: Glätten Sie Finanzberichte und Datenblätter mit berechneten Feldern vor der Verteilung, um Manipulationen zu verhindern.
-
Formulareinreichungsverarbeitung: Erstellen Sie dauerhafte Datensätze, indem Sie PDFs reduzieren, nachdem Benutzer Online-Formulare ausgefüllt haben.
-
Optimierung des Drucks: Reduzierte PDFs werden zuverlässiger gedruckt, da Drucker keine interaktiven Elemente verarbeiten.
- Dateigrößenreduktion: Glätten kann die Dateigröße reduzieren, indem es Formulardatenstrukturen entfernt, was gut mit PDF-Komprimierung harmoniert.
Hier ist ein Beispiel für eine Stapelverarbeitung zur Archivierung mehrerer ausgefüllter Formulare:
using IronPdf;
using System.IO;
public class BatchPdfFlattener
{
public static void FlattenAllPdfsInDirectory(string sourceDir, string outputDir)
{
// Ensure output directory exists
Directory.CreateDirectory(outputDir);
// Get all PDF files in source directory
string[] pdfFiles = Directory.GetFiles(sourceDir, "*.pdf");
foreach (string pdfFile in pdfFiles)
{
try
{
// Load the PDF
PdfDocument pdf = PdfDocument.FromFile(pdfFile);
// Flatten the document
pdf.Flatten();
// Save to output directory with "_flattened" suffix
string fileName = Path.GetFileNameWithoutExtension(pdfFile);
string outputPath = Path.Combine(outputDir, $"{fileName}_flattened.pdf");
pdf.SaveAs(outputPath);
Console.WriteLine($"Flattened: {fileName}");
}
catch (Exception ex)
{
Console.WriteLine($"Error processing {pdfFile}: {ex.Message}");
}
}
}
}
using IronPdf;
using System.IO;
public class BatchPdfFlattener
{
public static void FlattenAllPdfsInDirectory(string sourceDir, string outputDir)
{
// Ensure output directory exists
Directory.CreateDirectory(outputDir);
// Get all PDF files in source directory
string[] pdfFiles = Directory.GetFiles(sourceDir, "*.pdf");
foreach (string pdfFile in pdfFiles)
{
try
{
// Load the PDF
PdfDocument pdf = PdfDocument.FromFile(pdfFile);
// Flatten the document
pdf.Flatten();
// Save to output directory with "_flattened" suffix
string fileName = Path.GetFileNameWithoutExtension(pdfFile);
string outputPath = Path.Combine(outputDir, $"{fileName}_flattened.pdf");
pdf.SaveAs(outputPath);
Console.WriteLine($"Flattened: {fileName}");
}
catch (Exception ex)
{
Console.WriteLine($"Error processing {pdfFile}: {ex.Message}");
}
}
}
}
Imports IronPdf
Imports System.IO
Public Class BatchPdfFlattener
Public Shared Sub FlattenAllPdfsInDirectory(sourceDir As String, outputDir As String)
' Ensure output directory exists
Directory.CreateDirectory(outputDir)
' Get all PDF files in source directory
Dim pdfFiles As String() = Directory.GetFiles(sourceDir, "*.pdf")
For Each pdfFile As String In pdfFiles
Try
' Load the PDF
Dim pdf As PdfDocument = PdfDocument.FromFile(pdfFile)
' Flatten the document
pdf.Flatten()
' Save to output directory with "_flattened" suffix
Dim fileName As String = Path.GetFileNameWithoutExtension(pdfFile)
Dim outputPath As String = Path.Combine(outputDir, $"{fileName}_flattened.pdf")
pdf.SaveAs(outputPath)
Console.WriteLine($"Flattened: {fileName}")
Catch ex As Exception
Console.WriteLine($"Error processing {pdfFile}: {ex.Message}")
End Try
Next
End Sub
End Class
Abschluss
Das Glätten konvertiert die interaktiven Formularfelder eines PDFs in statische Seiteninhalte mit einem einzigen Flatten()-Aufruf, wodurch das Dokument gegen weitere Bearbeitungen gesperrt wird. Bewahren Sie eine unverglättete Kopie auf, falls Sie die Daten später ändern müssen, da der Vorgang nicht rückgängig gemacht werden kann.
Wenn Sie erst Felder füllen müssen, setzen Sie die Formularwerte, bevor Sie glätten; um gesperrte Dokumente zusammenzufügen, verbinden oder teilen Sie sie anschließend.
Bibliothek Schnellzugriff
Mehr Dokumentation lesen
Lesen Sie die Dokumentation, um mehr darüber zu erfahren, wie Sie PDFs reduzieren, bearbeiten und manipulieren können und vieles mehr.
IronPDF-Dokumentation besuchenBereit zu sehen, was Sie sonst noch tun können? Sehen Sie sich hier unsere Tutorial-Seite an: Zusätzliche Funktionen
Häufig gestellte Fragen
Was bedeutet "Flattern einer PDF-Datei"?
Beim Flattening einer PDF-Datei werden alle interaktiven Formularfelder wie Kontrollkästchen, Textfelder und Optionsfelder in statische, nicht editierbare Inhalte umgewandelt. IronPDF bietet diese Funktion, um die Integrität des Dokuments zu gewährleisten und weitere Änderungen zu verhindern.
Wie kann ich eine PDF-Datei in C# reduzieren?
Mit IronPDF glätten Sie ein PDF in drei Anweisungen: var pdf = IronPdf.PdfDocument.FromFile("input.pdf"); dann pdf.Flatten(); dann pdf.SaveAs("flattened.pdf"). Dies lädt das PDF, entfernt alle interaktiven Elemente und speichert das gesicherte Dokument.
Kann ich bestimmte Seiten anstelle des gesamten Dokuments reduzieren?
Ja, übergeben Sie eine Liste von nullbasierten Seitenindizes an die Flatten-Methode. Zum Beispiel flacht pdf.Flatten(new[] { 0, 1, 2 }) nur die Seiten 0, 1 und 2, während die verbleibenden Seiten interaktiv bleiben.
Welche Arten von Formularfeldern können abgeflacht werden?
IronPDF kann alle interaktiven Widgets wie Optionsfelder, Kontrollkästchen, Textfelder, Dropdown-Listen und alle anderen ausfüllbaren Formularelemente reduzieren und sie in dauerhafte statische Inhalte umwandeln.
Kann ich Formularfelder ausfüllen, bevor ich die PDF-Datei reduziere?
Ja, IronPDF ermöglicht es Ihnen, Formularfelder vor dem Glätten vorauszufüllen. Sie können Werte wie pdf.Form.FindFormField("name").Value = "John Doe" setzen, bevor Sie die Flatten-Methode aufrufen, um ein abgeschlossenes, nicht bearbeitbares Dokument zu erstellen.
Welche Rendering-Engine wird beim PDF-Flattening-Prozess verwendet?
IronPDF verwendet eine Chrome-Rendering-Engine, um die genaue Darstellung komplexer Formulare vor der Verflachung zu gewährleisten und die visuelle Integrität Ihrer Dokumente während des gesamten Prozesses zu erhalten.
Warum sollte ich ein PDF-Dokument glätten?
Die Verflachung von PDFs mit IronPDF ist unerlässlich für Sicherheits- und Archivierungszwecke, juristische Dokumente oder jedes Szenario, das eine dauerhafte Aufbewahrung von Dokumenten erfordert, bei dem weitere Änderungen an den Formulardaten verhindert werden müssen.

