Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
En este tutorial, aprenderemos a crear archivos PDF de forma dinámica en aplicaciones Java. Veremos los ejemplos de código para crear páginas PDF a partir de páginas de texto, URL y HTML. También aprenderemos a crear un archivo PDF protegido con contraseña a partir de una nueva instancia de documento.
Java es un lenguaje de programación muy popular para aplicaciones empresariales y a gran escala. El formato PDF, acrónimo de Portable Document Format (Formato de Documento Portátil), ofrece una forma fácil y fiable de presentar e intercambiar documentos, independientemente del software, hardware o sistema operativo que utilice cada usuario. Como resultado, PDF es un formato popular para generar documentos/formularios PDF en aplicaciones de software. Por lo tanto, es necesario que un desarrollador de aplicaciones Java sepa cómo generar documentos dinámicamente.
Necesitamos una biblioteca Java de terceros para crear un archivo PDF. Hay numerosas bibliotecas disponibles, cada una con su propio conjunto de ventajas e inconvenientes, como la biblioteca de código abierto iText, IronPDF, la biblioteca PDFBox, etc. Algunos son de pago, otros no ofrecen suficiente funcionalidad, otros no proporcionan precisión y otros tienen problemas de rendimiento.
Tthe IronPDF es ideal para este propósito porque es libre para el desarrollo, más segura, proporciona todas las funcionalidades en una sola biblioteca con una precisión del 100%, y tiene un rendimiento excepcional.
Antes de seguir adelante, hagamos una breve introducción sobre IronPDF.
IronPDF es la biblioteca Java PDF más popular desarrollada por Iron Software para crear PDF, editar nuevos archivos y manipular los PDF existentes. Está diseñado para ser compatible con una amplia gama de lenguajes JVM, incluyendo Java, Scala y Kotlin, y puede ejecutarse en una amplia gama de plataformas, incluyendo Windows, Linux, Docker, Azure y AWS. IronPDF funciona con IDEs populares como JetBrains, IntelliJ, IDEA y Eclipse.
Entre sus principales características se incluye la capacidad de crear un archivo PDF a partir de documentos HTML, HTTP, JavaScript, CSS, XML y varios formatos de imagen. Además, podemos incluir encabezados y pies de página, crear tablas, firmas digitales, archivos adjuntos, contraseñas y seguridad. Soporta multihilo completo y mucho más!
Comencemos ahora con los ejemplos de código para crear documentos dinámicos.
En primer lugar, tenemos que crear un nuevo proyecto de repositorio Maven.
Voy a utilizar IntelliJ IDE para este tutorial. Puede utilizar cualquiera de sus opciones. Los pasos para crear un nuevo proyecto Java pueden diferir de un IDE a otro. Siga los siguientes pasos:
Crear un proyecto
Nombra tu proyecto, elige una ubicación, un lenguaje, un sistema de compilación y un JDK. Seleccione la opción Crear botón. Se creará un nuevo proyecto.
Ahora, necesitamos instalar IronPDF en nuestra aplicación Java.
Necesitamos añadir una dependencia en el archivo pom.xml para instalar IronPDF. Añada el siguiente código fuente XML en el archivo pom.xml como se muestra a continuación.
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>com.ironsoftware</artifactId>
<version>2024.8.1</version>
</dependency>
Construye el proyecto ahora. Nuestra aplicación instalará automáticamente la biblioteca desde el Repositorio Maven.
Empecemos con el sencillo ejemplo de convertir una cadena HTML en un archivo PDF.
Considere el siguiente ejemplo:
public static void main(String [] args) throws IOException, PrinterException {
String htmlString = "<h1>My First PDF File<h1/><p> This is sample PDF file</p>";
//document class
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlString);
// Save the PdfDocument to a file
try {
myPdf.saveAs(Paths.get("myPDF.pdf") );
} catch (IOException e) {
throw new RuntimeException(e);
}
}
En la función anterior, hemos asignado el contenido HTML a una variable de cadena. El método renderHtmlAsPdf
toma una cadena como argumento y convierte el contenido HTML en una instancia de documento PDF. El método saveAs
acepta la ruta de ubicación como entrada y guarda la instancia del archivo PDF en el directorio que hemos especificado.
A continuación se muestra el PDF generado por el código mencionado.
Salida
IronPDF también proporciona la asombrosa funcionalidad de generar archivos PDF a partir de archivos HTML.
A continuación se muestra el archivo HTML de muestra que se utilizará en el ejemplo.
HTML renderizado con nuevo párrafo
A continuación se muestra un fragmento de código de ejemplo para generar archivos PDF:
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("myFile.html");
// Save the PdfDocument to a file
try {
myPdf.saveAs("myPDF.pdf");
} catch (IOException e) {
throw new RuntimeException(e);
}
El método renderHtmlFileAsPdf
acepta la ruta al archivo HTML como argumento y produce un documento PDF a partir del archivo HTML. Este archivo PDF se guarda después con el método saveAs
en una unidad local.
A continuación se muestra el documento que nuestro programa ha generado en formato PDF.
Salida PDF
Ahora utilizaremos un documento HTML de tamaño considerable que contiene JavaScript y CSS. Comprobaremos la precisión y coherencia del diseño al convertir HTML a PDF.
Utilizaremos la siguiente página HTML de ejemplo, que tiene imágenes, animación, estilo, jQuery y Bootstrap.
Ejemplo de página HTML
Ejemplo de HTML
Podemos observar que el documento HTML de muestra tiene un estilo extenso e incluye gráficos. Este archivo HTML se convertirá en un documento PDF y se evaluará la exactitud del contenido y el estilo.
Se utilizará la misma línea de código del ejemplo anterior.
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("index.html");
// Save the PdfDocument to a file
try {
myPdf.saveAs("myPDF.pdf");
} catch (IOException e) {
throw new RuntimeException(e);
}
El ejemplo anterior ya incluye una explicación del código. El resto no ha cambiado; sólo hemos modificado la ruta.
Este es nuestro archivo PDF de salida:
HTML a PDF
Podemos ver que utilizar IronPDF para crear archivos PDF es bastante sencillo. El formato y el contenido del documento fuente son coherentes.
También se puede utilizar una URL para crear un archivo PDF.
El siguiente ejemplo de código generará un archivo PDF a partir de una URL.
PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the PdfDocument to a file
try {
myPdf.saveAs("myPDF.pdf");
} catch (IOException e) {
throw new RuntimeException(e);
}
La función renderUrlAsPdf
acepta una URL como argumento y la convierte en un documento PDF. Este documento PDF se guarda posteriormente en una unidad local mediante la función saveAs
.
A continuación se muestra el PDF de salida:
Salida PDF
También podemos añadir marca de agua, encabezado, pie de página, firma digital, convertir archivos XML / página JSP y muchos más.
También podemos generar PDF protegidos por contraseña.
El siguiente código de muestra muestra el ejemplo de añadir seguridad a nuestro archivo PDF generado.
PdfDocument myPdf = PdfDocument.fromFile(Paths.get("myPDf.pdf"));
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setAllowUserEdits(PdfEditSecurity.NO_EDIT);
securityOptions.setAllowUserAnnotations(false);
securityOptions.setAllowUserPrinting(PdfPrintSecurity.NO_PRINT);
securityOptions.setAllowUserFormData(false);
securityOptions.setOwnerPassword("123456");
securityOptions.setUserPassword("123412");
try {
myPdf.saveAs(Paths.get("myNewPDF.pdf"));
} catch (IOException e) {
throw new RuntimeException(e);
}
El código anterior hará que el archivo PDF sea de sólo lectura y no permitirá ninguna edición ni alineación de párrafos. También restringimos la impresión de este documento de forma que no se puede imprimir. También hemos establecido la contraseña. Ahora, este archivo es muy seguro. De este modo, IronPDF nos permite definir diferentes permisos de archivo y generar una salida dinámica.
En este tutorial, hemos aprendido a generar archivos PDF. Creamos un archivo PDF a partir de una cadena HTML, un archivo HTML y una URL. Utilizamos ejemplos que van de lo simple a lo complejo. Hay muchas más funciones útiles disponibles, como añadir una marca de agua, pie de página, cabecera, color de primer plano, combinar y dividir páginas, etc. No podemos abarcarlas todas aquí. Puede visitar el documentación oficial para seguir explorando.
IronPDF convirtió la conversión de HTML a PDF en un juego de niños. Convertimos HTML a PDF con una sola línea de código. También hemos añadido algunas medidas de seguridad a nuestro archivo PDF. Es más rápido, más preciso y más seguro. Cada PDF generado incluye la marca de agua IronPDF. Esto se debe a que estamos utilizando una versión de desarrollo gratuita con permisos limitados, no la licencia comercial. Podemos deshacernos de él comprando una versión de prueba gratuita o un licencia según sea necesario.
9 productos API .NET para sus documentos de oficina