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:
- En términos de seguridad, acoplar un documento PDF puede evitar cambios no autorizados o falsificaciones. Al aplanar un PDF se fusionan todos los campos del formulario en la capa de fondo, lo que dificulta que cualquiera pueda cambiar el contenido.
- Acoplar un PDF puede reducir su tamaño de archivo al eliminar información innecesaria, como campos de formulario, anotaciones y capas. Esto puede hacer que sea más fácil compartir, enviar por correo electrónico o almacenar el documento, especialmente si es grande o complejo.
- Acoplar un archivo PDF puede garantizar que se imprima correctamente, principalmente si contiene gráficos, imágenes o campos de formulario complejos. Además, al aplanar el documento se eliminan los efectos de transparencia y se fusionan todas las capas en una sola, lo que puede ayudar a evitar errores de impresión y mejorar la calidad general de la impresión.
- Acoplar un documento PDF lo hace fácil de usar porque excluye la necesidad de interactuar con elementos interactivos, lo que hace que sea más sencillo verlo, imprimirlo o compartirlo.
- Si necesita guardar un documento PDF para usarlo más adelante y archivarlo, aplanarlo puede garantizar que sea legible y accesible durante muchos años. El aplanamiento elimina la necesidad de software o complementos especializados, ya que el documento será un archivo PDF estático y no interactivo.
- y más.
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:
- 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. - 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. - 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:
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.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?
- 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. - 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. - 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!