Aplanar PDF – Flatten PDF – Ejemplos de C#

PDF (Portable Document Format) es un formato de archivo popular ampliamente utilizado para intercambiar y almacenar documentos digitales. Este formato versátil le permite crear documentos complejos con varios elementos, incluidos texto, imágenes, formularios y más. Sin embargo, en determinadas situaciones, puede ser necesario aplanar un documento PDF, lo que significa convertirlo en un archivo estático y no interactivo que pueda compartirse, imprimirse o archivarse fácilmente. Este artículo explicará qué significa aplanar un PDF y cómo hacerlo usando la biblioteca Aspose.HTML for .NET.

¿Qué significa aplanar un PDF (Flatten PDF)?

Aplanar un archivo PDF significa fusionar todas las capas del documento en una sola capa de fondo. Este proceso efectivamente “aplana” el documento al eliminar cualquier elemento interactivo, como campos de formulario que se pueden completar y texto editable. El resultado es un PDF estático que ya no se puede editar ni alterar su apariencia, lo que lo hace ideal para compartir, imprimir o archivar.

¿Por qué aplanar un PDF?

Acoplar un documento PDF es un proceso que puede tener varios beneficios, según sus necesidades específicas. Hay varias razones por las que es posible que desees aplanar un archivo PDF:

Ya sea que sus objetivos estén relacionados con la seguridad, el tamaño del archivo, la impresión, el archivado o la facilidad de uso, acoplar un PDF puede brindarle los resultados que necesita.

¿Cómo aplanar un PDF en C#?

Acoplar un documento PDF es un proceso útil para garantizar la estabilidad y seguridad de un documento, así como para mejorar su compatibilidad con impresoras o aplicaciones de software. Al convertir archivos HTML o MHTML en archivos PDF acoplados usando código C#, podemos crear fácilmente documentos PDF estáticos y no interactivos.

Aspose.HTML for .NET ofrece la propiedad FormFieldBehaviour de la clase PdfSaveOptions para aplanar documentos PDF después de su conversión de HTML o MHTML. Esta propiedad se utiliza para especificar el comportamiento de los campos de formulario en un documento PDF. Si el valor se establece en FormFieldBehaviour.Flattened, todos los campos del formulario en el documento PDF se aplanarán.

Conversión de HTML a PDF y aplanamiento de PDF

Para aplanar un archivo PDF usando Aspose.HTML for .NET, primero necesita convertir un archivo HTML en un documento PDF. El archivo HTML puede contener formularios interactivos que deben convertirse a PDF y aplanarse. A continuación se muestra un ejemplo de cómo convertir HTML a PDF y utilizar la propiedad FormFieldBehaviour para aplanar PDF:

 1// Prepare a path to an HTML source file
 2var sourcePath = Path.Combine(DataDir, "SampleHtmlForm.html");
 3
 4// Initialize an HTML document from the file
 5using HTMLDocument document = new HTMLDocument(sourcePath);
 6
 7// Prepare PDF save options
 8var options = new PdfSaveOptions
 9{
10    // Flatten all form fields
11    FormFieldBehaviour = FormFieldBehaviour.Flattened
12};
13
14// Prepare a path to the result file
15var resultPath = Path.Combine(OutputDir, "form-flattened.pdf");
16
17// Convert HTML to PDF
18Converter.ConvertHTML(document, options, resultPath);

De esta manera, puedes convertir fácilmente un archivo HTML en un PDF aplanado usando C#. Este proceso es sencillo y se puede realizar con unas pocas líneas de código. Veamos los pasos que hemos dado:

  1. Utilice uno de los constructores de la clase HTMLDocument para cargar un archivo HTML. En el ejemplo, el constructor HTMLDocument(sourcePath) carga el documento HTML desde un sistema de archivos local.
  2. Cree una instancia de la clase PdfSaveOptions que se utiliza para especificar las opciones para guardar un documento PDF. En este caso, la propiedad FormFieldBehaviour de PdfSaveOptions se establece en FormFieldBehaviour.Flattened, lo que significa que todos los campos del formulario en el documento HTML se aplanarán cuando se cree el documento PDF.
  3. Llame al método ConvertHTML() para convertir HTML a PDF usando las opciones especificadas, y el documento PDF resultante se guarda en resultPath.

Conversión de MHTML a PDF y aplanamiento de PDF

El siguiente ejemplo de C# muestra cómo convertir un documento MHTML ubicado en sourcePath en un documento PDF aplanado y guardarlo en outputPath:

 1// Prepare a path to an MHTML source file
 2var sourcePath = Path.Combine(DataDir, "SampleHtmlForm.mhtml");
 3
 4// Initialize PDF save options
 5var options = new PdfSaveOptions
 6{
 7    // Flatten all form fields
 8    FormFieldBehaviour = FormFieldBehaviour.Interactive
 9};
10
11// Prepare a path to the result file
12var resultPath = Path.Combine(OutputDir, "document-flattened.pdf");
13
14// Convert MHTML to PDF
15Converter.ConvertMHTML(sourcePath, options, resultPath);

Para convertir MHTML a PDF con la propiedad FormFieldBehaviour especificada, debe seguir algunos pasos:

  1. Inicialice una instancia de la clase PdfSaveOptions y especifique las opciones para guardar el documento PDF. En este ejemplo, la propiedad FormFieldBehaviour de PdfSaveOptions está configurada en FormFieldBehaviour.Flattened, lo que significa que todos los campos del formulario en el documento MHTML se aplanarán cuando se cree el documento PDF.

  2. Utilice el método ConvertMHTML() para convertir MHTML a PDF, que toma la ruta de origen, las opciones y la ruta de salida como parámetros.

¿Cuál es la diferencia entre archivos PDF guardados con y sin la propiedad FormFieldBehaviour?

  1. Si la propiedad FormFieldBehaviour está configurada en FormFieldBehaviour.Flattened, los campos del formulario en el documento PDF se fusionarán en una capa del documento. Esto efectivamente aplana los campos del formulario, haciéndolos no interactivos e imposibles de editar. El resultado es un documento PDF estático que no se puede modificar.
  2. Por otro lado, si la propiedad FormFieldBehaviour se establece en FormFieldBehaviour.Interactive, los campos del formulario en el documento PDF permanecerán interactivos. Esto significa que los usuarios pueden completar los campos del formulario y realizar cambios.
  3. En Aspose.HTML for .NET, el valor predeterminado para la propiedad FormFieldBehaviour es FormFieldBehaviour.Interactive. Si la propiedad FormFieldBehaviour no se establece explícitamente, los campos del formulario en el documento PDF seguirán siendo interactivos, lo que permitirá a los usuarios completarlos y editarlos.

Puede descargar los ejemplos completos de C# y los archivos de datos desde GitHub.

Aspose.HTML ofrece Convertidores gratuitos en línea para convertir archivos HTML, XHTML, MHTML, EPUB, XML y Markdown a varios formatos populares. Puede convertir fácilmente HTML a PDF, HTML a JPG, SVG a PDF, MHTML a PDF o MD a HTML. Simplemente seleccione el archivo, elija el formato a convertir y listo. ¡Es rápido y completamente gratis!

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.