Convertir HTML a PDF en Java
Los archivos PDF tienen muchas ventajas sobre otros formatos y, en ocasiones, es posible que necesites convertir HTML a PDF. Esto es particularmente útil para crear versiones de páginas web de alta calidad y fáciles de imprimir, generar informes o compartir documentos que son difíciles de editar o modificar.
La capacidad de convertir documentos HTML de manera fácil y confiable a otros formatos es una de las características principales de Aspose.HTML for Java. En este artículo, encontrará información sobre cómo convertir HTML a PDF usando los métodos convertHTML()
de la clase
Converter y cómo aplicar
PdfSaveOptions.
HTML a PDF mediante una sola línea de código Java
La conversión de HTML a PDF es una característica muy solicitada y Aspose.HTML for Java ofrece una solución sencilla. A través de métodos estáticos en la clase Converter, puedes convertir un documento HTML en un archivo PDF con solo una línea de código.
1// Invoke the convertHTML() method to convert the HTML to PDF
2Converter.convertHTML("<h1>Convert HTML to PDF!</h1>", ".", new PdfSaveOptions(), "convert-with-single-line.pdf");
En el ejemplo, utilizamos el método convertHTML(content, baseUri, options, outputPath) de la clase Converter que toma cuatro parámetros: cadena con el código HTML a convertir, la carpeta base para el archivo HTML de entrada, un instancia de la clase PdfSaveOptions y la ruta del archivo de salida donde se guardará el archivo convertido.
Convertir HTML a PDF en Java
Repasemos las instrucciones paso a paso para un escenario simple de conversión de HTML a PDF:
- Cargue un archivo HTML usando uno de los constructores
HTMLDocument()
de la clase HTMLDocument. Puede cargar HTML desde un archivo, código HTML, secuencia o URL (consulte el artículo Creación de un documento HTML). En el ejemplo, utilizamos el constructorHTMLDocument(dirección)
que inicializa un documento HTML a partir de un archivo. - Cree un nuevo objeto
PdfSaveOptions. Utilice el constructor vacío
PdfSaveOptions()
para convertir con las opciones de guardado predeterminadas. - Utilice el método
сonvertHTML(document, options, outputPath)
de la clase Converter para guardar HTML como un archivo PDF.
Revise el siguiente fragmento de código Java, que muestra el proceso de conversión de HTML a PDF con instrucciones paso a paso:
1// Prepare HTML code and save it to a file
2String code = "<span>Hello, World!!</span>";
3try (java.io.FileWriter fileWriter = new java.io.FileWriter("link-to-incoming-document.html")) {
4 fileWriter.write(code);
5}
6
7// Initialize an HTML document from the file
8HTMLDocument document = new HTMLDocument("link-to-incoming-document.html");
9
10// Initialize PdfSaveOptions
11PdfSaveOptions options = new PdfSaveOptions();
12
13// Convert HTML to PDF
14Converter.convertHTML(document, options, "document-output.pdf");
Opciones de guardado – Clase PdfSaveOptions
Aspose.HTML for Java permite convertir HTML a PDF utilizando opciones de guardado predeterminadas o personalizadas. PdfSaveOptions le permite personalizar el proceso de renderizado. Puede especificar el tamaño de página, márgenes, permisos de archivo, tipo de medio, etc.
Metod | Description |
---|---|
setJpegQuality(value) | Specifies the quality of JPEG compression for images. The default value is 95. |
getCss() | Gets a CssOptions object which is used for configuration of CSS properties processing. |
setBackgroundColor(value) | Sets the color that will fill the background of every page. By default, this property is Transparent . |
setPageSetup(value) | This method sets a page setup object and uses it for configuration output page-set. |
setHorizontalResolution(value) | Sets horizontal resolution for internal images, in pixels per inch. By default this property is 300 dpi. |
setVerticalResolution(value) | Sets vertical resolution for output images in pixels per inch. The default value is 300 dpi. |
setEncryption | This method gets or sets encryption details. If it is not set, then no encryption will be performed. |
Para obtener más información sobre PdfSaveOptions, lea el artículo Convertidores de ajuste fino.
Puede descargar los ejemplos completos y los archivos de datos desde GitHub.
Convierta HTML a PDF usando PdfSaveOptions
Con Aspose.HTML for Java, puede convertir archivos mediante programación con control total sobre una amplia gama de parámetros de conversión. Sólo sigue unos pocos pasos:
- Cargue un archivo HTML usando uno de los constructores HTMLDocument() de la clase HTMLDocument.
- Cree un nuevo objeto
PdfSaveOptions y especifique las propiedades requeridas. El constructor
PdfSaveOptions()
inicializa una instancia de la clase PdfSaveOptions que se pasa al métodoconvertHTML()
. - Utilice el método
сonvertHTML(document, options, outputPath)
de la clase Converter para guardar HTML como un archivo PDF.
El siguiente ejemplo de Java muestra cómo utilizar PdfSaveOptions y crear un archivo PDF con tamaño de página personalizado, márgenes, resoluciones, color de fondo y especificación de compresión:
1// Initialize an HTML document from a file
2HTMLDocument document = new HTMLDocument("drawing.html");
3
4// Initialize PdfSaveOptions. Set up the page-size 500x300 pixels, margins,
5// resolutions and change the background color to AliceBlue
6PdfSaveOptions options = new PdfSaveOptions();
7options.setHorizontalResolution(new Resolution(200, UnitType.AUTO));
8options.setVerticalResolution(new Resolution(200, UnitType.AUTO));;
9options.setBackgroundColor(Color.getAliceBlue());
10options.setJpegQuality(100);
11options.getPageSetup().setAnyPage(new Page(new Size(500, 300), new Margin(20, 10, 10, 10)));
12
13// Convert HTML to PDF
14Converter.convertHTML(document, options, "drawing-options.pdf");
En el ejemplo anterior, se utilizaron varias opciones para guardar PDF:
setJpegQuality()
especifica la calidad de compresión JPEG para imágenes.setBackgroundColor()
establece el color que rellena el fondo.setHorizontalResolution()
ysetVerticalResolution()
establecen resoluciones horizontales y verticales para archivos PDF de salida.setPageSetup()
especifica el tamaño de página y los márgenes del documento de salida.
Un ejemplo más de Java. Aquí creamos un documento HTML desde cero: preparamos el código HTML y lo guardamos en un archivo. Luego aplicamos PdfSaveOptions
para convertir HTML a PDF:
1// Prepare HTML code and save it to a file
2String code = "<h1> PdfSaveOptions Class</h1> " +
3 "<p>Using PdfSaveOptions Class, you can programmatically " +
4 "apply a wide range of conversion parameters " +
5 "such as BackgroundColor, HorizontalResolution, VerticalResolution, PageSetup, etc.</p>";
6
7FileHelper.writeAllText("save-options.html", code);
8
9// Initialize an HTML Document from the HTML file
10HTMLDocument document = new HTMLDocument("save-options.html");
11
12// Set up the page-size, margins and change the background color to AntiqueWhite
13PdfSaveOptions options = new PdfSaveOptions();
14options.setBackgroundColor(Color.getAntiqueWhite());
15options.getPageSetup().setAnyPage(
16 new Page(
17 new Size(Length.fromInches(4.9f), Length.fromInches(3.5f)),
18 new Margin(30, 20, 10, 10)
19 )
20);
21
22// Convert HTML to PDF
23Converter.convertHTML(document, options, "save-options-output.pdf");
Conclusión
La conversión de HTML a PDF es una función útil para crear documentos de alta calidad, que se pueden compartir y que se pueden imprimir. Aspose.HTML for Java proporciona una solución sólida con la clase Converter
, que le permite convertir fácilmente HTML a PDF utilizando métodos flexibles como convertHTML()
y PdfSaveOptions
personalizables.
La clase PdfSaveOptions
permite a los desarrolladores personalizar la salida especificando tamaños de página, márgenes, resoluciones, colores de fondo, opciones de compresión, cifrado, etc., asegurando resultados precisos y profesionales. Si crea informes y guarda contenido web como documentos PDF, Aspose.HTML for Java simplifica el proceso con un código mínimo.
Aspose.HTML ofrece un Convertidor de HTML a PDF gratuito en línea que convierte HTML a PDF con alta calidad, fácil y rápido. ¡Simplemente cargue, convierta sus archivos y obtenga el resultado en unos segundos!