Wie man PDF-Bilder in C# mit IronPDF abflacht

Wie man PDFs in IronPDF C# flacht

This article was translated from English: Does it need improvement?
Translated
View the article in English

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.

  1. Installieren Sie IronPDF mit NuGet Package Manager

    PM > Install-Package IronPdf
  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    var pdf = IronPdf.PdfDocument.FromFile("input.pdf");
    pdf.Flatten();
    pdf.SaveAs("flattened.pdf");
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute, IronPDF in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion

    arrow pointer

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")
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

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.

Hinweis:Formulare werden nach der Nutzung der 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
$vbLabelText   $csharpLabel
Icon Quote related to Wie kann ich überprüfen, ob das PDF geglättet ist?

Meine Lieblingsbibliothek dieser Art ist IronPDF. Es ermöglicht eine schnelle und effiziente Bearbeitung von PDF-Dateien. Es verfügt auch über viele wertvolle Funktionen, wie das Exportieren in das PDF/A-Format und das digitale Signieren von PDF-Dokumenten.

Milan Jovanovic related to Wie kann ich überprüfen, ob das PDF geglättet ist?

Milan Jovanovic

Microsoft MVP

Fallstudie ansehen
Icon Quote related to Wie kann ich überprüfen, ob das PDF geglättet ist?

IronOCR bedeutet, dass wir jährlich 40.000 $ durch manuelle Verarbeitung einsparen können, während die Produktivität gesteigert wird und Ressourcen für wichtige Aufgaben freigesetzt werden. Ich würde es sehr empfehlen.

Brent Matzelle related to Wie kann ich überprüfen, ob das PDF geglättet ist?

Brent Matzelle

Technischer Leiter, OPYN

Fallstudie ansehen
Icon Quote related to Wie kann ich überprüfen, ob das PDF geglättet ist?

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.

David Jones related to Wie kann ich überprüfen, ob das PDF geglättet ist?

David Jones

Leitender Software-Ingenieur, Agorus Build

Fallstudie ansehen

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:

  1. Archivierung rechtlicher Dokumente: Verflachen Sie Verträge und Vereinbarungen nach der Unterzeichnung, um inhaltliche Änderungen zu verhindern und die rechtliche Integrität zu wahren.

  2. Berichtsverteilung: Glätten Sie Finanzberichte und Datenblätter mit berechneten Feldern vor der Verteilung, um Manipulationen zu verhindern.

  3. Formulareinreichungsverarbeitung: Erstellen Sie dauerhafte Datensätze, indem Sie PDFs reduzieren, nachdem Benutzer Online-Formulare ausgefüllt haben.

  4. Optimierung des Drucks: Reduzierte PDFs werden zuverlässiger gedruckt, da Drucker keine interaktiven Elemente verarbeiten.

  5. 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
$vbLabelText   $csharpLabel

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

Dokumentation

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 besuchen

Bereit 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.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 20,296,129 | Version: 2026.7 gerade veröffentlicht
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis? PM > Install-Package IronPdf
Führen Sie eine Probe aus Sehen Sie zu, wie Ihr HTML-Code in eine PDF-Datei umgewandelt wird.