Aplastar PDF en C#
IronPDF aplana documentos PDF en C# con una sola línea de código, convirtiendo los campos de formulario interactivos en contenido estático para evitar modificaciones posteriores y garantizar la integridad del documento.
Los documentos PDF suelen incluir formularios interactivos con widgets rellenables como botones de opción, casillas de verificación, cuadros de texto y listas. Para que estos documentos no se puedan editar por motivos de seguridad o archivo, es necesario aplanar el archivo PDF. IronPDF proporciona esta funcionalidad con una sola línea de código. Esta capacidad es esencial cuando se trabaja con formularios PDF en aplicaciones empresariales, documentos legales o cualquier escenario que requiera la conservación permanente de documentos.



Inicio rápido: Aplana tu PDF en una línea
Aplane documentos PDF con IronPDF para eliminar toda la interactividad y crear contenido permanente y no editable. Este one-liner de C# carga un PDF existente, elimina todos los widgets rellenables y guarda el documento protegido.
Empieza a crear PDF con NuGet ahora:
Instalar IronPDF con el gestor de paquetes NuGet
Copie y ejecute este fragmento de código.
IronPdf.PdfDocument.FromFile("input.pdf").Flatten().SaveAs("flattened.pdf");Despliegue para probar en su entorno real
Empieza a utilizar IronPDF en tu proyecto hoy mismo con una prueba gratuita
Flujo de trabajo mínimo (5 pasos)
- Instalar IronPDF desde el gestor de paquetes NuGet
- Cargar PDF existente o crear uno nuevo a partir de HTML
- Llamar al método
Flatten - Guardar el documento PDF aplanado
- Comprobar que se eliminan los campos de formulario
¿Cómo aplanar un documento PDF en C#?
Una vez instalado IronPDF, podrá aplanar archivos PDF con una sola línea de código. El proceso funciona con PDF creados a partir de archivos HTML, cadenas HTML o documentos PDF existentes.
El siguiente ejemplo de código utiliza la clase PdfDocument para cargar un PDF existente. Para la generación dinámica de PDF, utilice la clase ChromePdfRenderer. El motor de renderizado Chrome de IronPDF garantiza un renderizado preciso de los formularios complejos antes del aplanado.
Para aplanar un archivo PDF, llame al método Flatten. Se eliminan todos los widgets interactivos, incluidos los botones de opción, las casillas de verificación y los campos de texto, con lo que el documento queda completamente ineditable.
: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.comPara situaciones complejas, puede aplanar páginas específicas o manipular datos de formulario antes de aplanar:
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¿Cómo puedo comprobar que el PDF está aplanado?
El resultado a continuación muestra los estados antes y después. El primer PDF contiene campos de formulario editables. Después de aplicar el método de aplanado de IronPDF, el documento se vuelve completamente no editable. Este código funciona en cualquier proyecto .NET, incluidas aplicaciones ASP.NET y servidores Blazor.
Flatten.Para comprobar que el aplanamiento se ha realizado correctamente, compruebe el recuento de campos del formulario:
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¿Qué ocurre con los campos de formulario después de aplanarlos?
Cuando se aplana un documento PDF, todos los elementos interactivos del formulario sufren una transformación permanente. Los campos del formulario se convierten en contenido estático de la página y pasan a formar parte de la capa visual del documento:
- los campos de texto se convierten en texto normal en la página
- Las casillas de verificación y los botones de radio se convierten en imágenes estáticas que muestran el estado seleccionado
- Los menús desplegables sólo muestran el valor seleccionado como texto sin formato
- Las firmas digitales se conservan visualmente pero pierden la validación criptográfica
Este proceso es irreversible. Conserve una copia del PDF interactivo original por si necesita editarlo en el futuro. Para documentos que requieran seguridad y editabilidad, utilice Permisos y contraseñas de PDF en lugar de aplanar.
¿Cuándo debo aplanar mis documentos PDF?
El aplanado de PDF es esencial en estos escenarios empresariales:
Archivo de documentos legales: Aplane contratos y acuerdos después de firmarlos para evitar la alteración del contenido y mantener la integridad legal.
Distribución de informes: Aplane los informes financieros y las hojas de datos con campos calculados antes de su distribución para evitar manipulaciones.
Procesamiento de envío de formularios: Cree registros permanentes aplanando los PDF después de que los usuarios completen los formularios en línea.
Optimización de la impresión: Los PDF aplanados se imprimen de forma más fiable, ya que las impresoras no procesan los elementos interactivos.
- Reducción del tamaño de los archivos: El aplanamiento puede reducir el tamaño del archivo al eliminar las estructuras de datos de los campos de formulario cuando se utiliza Compresión de PDF.
He aquí un ejemplo de procesamiento por lotes para archivar varios formularios cumplimentados:
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.comPara obtener información sobre técnicas avanzadas de manipulación de PDF, como mezclar o dividir PDF después de aplanarlos, consulte la documentación completa de IronPDF.
Acceso rápido a la biblioteca
Más documentación
Lea la documentación para saber más sobre cómo aplanar PDF, editarlos y manipularlos, etc.
Visite la documentación de IronPDF¿Listo para ver qué más puedes hacer? Consulta nuestra página de tutoriales aquí: Características adicionales
Preguntas Frecuentes
¿Qué significa aplanar un PDF?
Aplanar un PDF convierte todos los campos de formulario interactivos, como casillas de verificación, cuadros de texto y botones de radio, en contenido estático no editable. IronPDF ofrece esta función para garantizar la integridad del documento y evitar modificaciones posteriores.
¿Cómo aplanar un PDF en C#?
Con IronPDF, puede aplanar un PDF en una línea de código: IronPDF.PdfDocument.FromFile("input.pdf").Flatten().SaveAs("flattened.pdf"). Esto carga el PDF, elimina todos los elementos interactivos y guarda el documento aplanado.
¿Puedo acoplar páginas específicas en lugar de todo el documento?
Sí, IronPDF le permite aplanar páginas específicas utilizando el método FlattenPagesRange. Por ejemplo, pdf.FlattenPagesRange(0, 2) aplanará sólo las páginas 1-3 de su documento dejando las demás páginas interactivas.
¿Qué tipos de campos de formulario se pueden aplanar?
IronPDF puede aplanar todos los widgets interactivos, incluidos botones de radio, casillas de verificación, campos de texto, listas desplegables y cualquier otro elemento de formulario rellenable, convirtiéndolos en contenido estático permanente.
¿Puedo rellenar los campos del formulario antes de aplanar el PDF?
Sí, IronPDF le permite pre-llenar los campos de formulario antes de aplanar. Puede establecer valores como pdf.Form.Fields[0].Value = "John Doe" antes de llamar al método Flatten para crear un documento completo y no editable.
¿Qué motor de renderizado utiliza el proceso de aplanado de PDF?
IronPDF utiliza un motor de renderizado de Chrome para garantizar una renderización precisa de las formas complejas antes de aplanarlas, manteniendo la integridad visual de sus documentos durante todo el proceso.
¿Por qué tendría que aplanar un documento PDF?
El aplanamiento de PDF con IronPDF es esencial para la seguridad, los archivos, los documentos legales o cualquier situación que requiera la conservación permanente de documentos y en la que sea necesario evitar modificaciones posteriores en los datos de los formularios.







