Wie man PDF-Bilder in C# mit IronPDF abflacht

PDFs in C# verkleinern

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

IronPDF glättet PDF-Dokumente in C# mit einer einzigen Codezeile und konvertiert interaktive Formularfelder in statische Inhalte, um weitere Änderungen zu verhindern und die Integrität des Dokuments zu gewährleisten.

PDF-Dokumente enthalten oft interaktive Formulare mit ausfüllbaren Widgets wie Optionsfeldern, Kontrollkästchen, Textfeldern und Listen. Um diese Dokumente zu Sicherheits- oder Archivierungszwecken nicht editierbar zu machen, müssen Sie die PDF-Datei reduzieren. IronPDF bietet diese Funktion mit nur einer Zeile Code. Diese Fähigkeit ist unerlässlich bei der Arbeit mit PDF-Formularen in Geschäftsanwendungen, juristischen Dokumenten oder anderen Szenarien, die eine dauerhafte Aufbewahrung von Dokumenten erfordern.

Banner für ausfüllbare PDF-Formulare mit Adobe PDF-Logo und zwei Beispielen für interaktive Formulare mit Eingabefeldern
Bleistift mit Verbotssymbol, das Bearbeitungseinschränkungen oder schreibgeschützten Zugriff anzeigt
Adobe PDF-Dateisymbol mit roter Kopfzeile und gebogenem Logo

Schnellstart: Glätten Sie Ihr PDF in einer Zeile

Reduzieren Sie PDF-Dokumente mit IronPDF, um jegliche Interaktivität zu entfernen und dauerhafte, nicht editierbare Inhalte zu erstellen. Dieser C#-Einzeiler lädt eine vorhandene PDF-Datei, entfernt alle ausfüllbaren Widgets und speichert das gesicherte Dokument.

Nuget IconLegen Sie jetzt mit NuGet los, um PDFs zu erstellen:

  1. Installieren Sie IronPDF mit dem NuGet-Paketmanager.

    PM > Install-Package IronPdf

  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

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

    Beginnen Sie noch heute mit der Nutzung von IronPDF in Ihrem Projekt – mit einer kostenlosen Testversion.
    arrow pointer

Wie kann ich ein PDF-Dokument in C#35 reduzieren?

Sobald IronPDF installiert ist, können Sie PDF-Dateien mit einer Zeile Code reduzieren. Der Prozess funktioniert mit PDFs, die aus HTML-Dateien, HTML-Strings oder bestehenden PDF-Dokumenten erstellt wurden.

Das folgende Codebeispiel verwendet die Klasse PdfDocument, um eine vorhandene PDF-Datei zu laden. Für die dynamische PDF-Erzeugung wird die Klasse ChromePdfRenderer verwendet. Die Chrome Rendering Engine von IronPDF sorgt für die genaue Darstellung komplexer Formulare vor der Verflachung.

Um eine PDF-Datei zu reduzieren, rufen Sie die Methode Flatten auf. Dabei werden alle interaktiven Widgets wie Optionsfelder, Kontrollkästchen und Textfelder entfernt, so dass das Dokument nicht mehr bearbeitet werden kann.

: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");
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");
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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Für komplexe Szenarien können Sie bestimmte Seiten reduzieren oder Formulardaten vor dem Reduzieren manipulieren:

using IronPdf;

// Load a PDF with fillable forms
PdfDocument pdf = PdfDocument.FromFile("form-document.pdf");

// Optionally, pre-fill form fields before flattening
pdf.Form.Fields[0].Value = "John Doe";
pdf.Form.Fields[1].Value = "john@example.com";

// Flatten only specific pages (pages 1-3)
pdf.FlattenPagesRange(0, 2);

// Or flatten the entire document
pdf.Flatten();

// Save the result
pdf.SaveAs("flattened-form.pdf");
using IronPdf;

// Load a PDF with fillable forms
PdfDocument pdf = PdfDocument.FromFile("form-document.pdf");

// Optionally, pre-fill form fields before flattening
pdf.Form.Fields[0].Value = "John Doe";
pdf.Form.Fields[1].Value = "john@example.com";

// Flatten only specific pages (pages 1-3)
pdf.FlattenPagesRange(0, 2);

// Or flatten the entire document
pdf.Flatten();

// Save the result
pdf.SaveAs("flattened-form.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Wie kann ich überprüfen, ob die PDF-Datei flach ist?

Die folgende Ausgabe zeigt den Vorher- und Nachher-Zustand. Die erste PDF-Datei enthält bearbeitbare Formularfelder. Nach der Anwendung der Flatten-Methode von IronPDF ist das Dokument nicht mehr editierbar. Dieser Code funktioniert in jedem .NET-Projekt, einschließlich ASP.NET-Anwendungen und Blazor-Server.

Hinweis:Formulare sind nach der Verwendung der Methode Flatten nicht mehr auffindbar.

Überprüfen Sie die Anzahl der Formularfelder, um die erfolgreiche Reduzierung zu überprüfen:

using IronPdf;

// Load the flattened PDF
PdfDocument flattenedPdf = PdfDocument.FromFile("flattened.pdf");

// Check if any form fields exist
if (flattenedPdf.Form.Fields.Count == 0)
{
    Console.WriteLine("PDF has been successfully flattened - no interactive fields remain.");
}
else
{
    Console.WriteLine($"Warning: {flattenedPdf.Form.Fields.Count} form fields still exist.");
}
using IronPdf;

// Load the flattened PDF
PdfDocument flattenedPdf = PdfDocument.FromFile("flattened.pdf");

// Check if any form fields exist
if (flattenedPdf.Form.Fields.Count == 0)
{
    Console.WriteLine("PDF has been successfully flattened - no interactive fields remain.");
}
else
{
    Console.WriteLine($"Warning: {flattenedPdf.Form.Fields.Count} form fields still exist.");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Was geschieht mit den Formularfeldern nach der Verflachung?

Wenn Sie ein PDF-Dokument reduzieren, werden alle interaktiven Formularelemente dauerhaft umgewandelt. Formularfelder werden in statische Seiteninhalte umgewandelt und werden Teil der visuellen Ebene des Dokuments:

  • 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. 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 verkleinern?

PDF-Flattening ist in diesen Geschäftsszenarien unerlässlich:

  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ößenreduzierung: Flattening kann die Dateigröße reduzieren, indem Datenstrukturen von Formularfeldern bei der PDF-Komprimierung entfernt werden.

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}");
            }
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Für fortgeschrittene Techniken zur PDF-Bearbeitung, einschließlich Zusammenführen oder Aufteilen von PDFs nach der Verflachung, siehe die umfassende Dokumentation von IronPDF.


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 können Sie eine PDF-Datei in einer einzigen Codezeile reduzieren: IronPdf.PdfDocument.FromFile("input.pdf").Flatten().SaveAs("flattened.pdf"). Dadurch wird die PDF-Datei geladen, alle interaktiven Elemente werden entfernt und das gesicherte Dokument wird gespeichert.

Kann ich bestimmte Seiten anstelle des gesamten Dokuments reduzieren?

Ja, IronPDF ermöglicht es Ihnen, bestimmte Seiten mit der Methode FlattenPagesRange zu reduzieren. Mit pdf.FlattenPagesRange(0, 2) werden beispielsweise nur die Seiten 1-3 Ihres Dokuments reduziert, während die anderen 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 erlaubt es Ihnen, Formularfelder vor dem Flattening auszufüllen. Sie können Werte wie pdf.Form.Fields[0].Value = "John Doe" setzen, bevor Sie die Flatten-Methode aufrufen, um ein fertiges, nicht editierbares 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 16,685,821 | Version: 2025.12 gerade veröffentlicht