HTML a PDF en Java
IronPDF for Java ofrece a los desarrolladores un camino directo desde el contenido HTML a la salida PDF sin necesidad de aprender una API de diseño separada. La biblioteca renderiza HTML, CSS y JavaScript de la misma manera que un navegador moderno, haciendo que la salida PDF coincida con lo que ves en pantalla. Este tutorial cubre la instalación, los tres métodos principales de conversión de HTML-a-PDF y las opciones de formato, incluyendo encabezados, pies de página, tamaño de página y márgenes personalizados.
El tutorial utiliza IronPDF for Java. Una guía paralela cubriendo la versión .NET está disponible en el tutorial de conversión de HTML a PDF for .NET. IronPDF también está disponible para Python y Node.js.
Guía rápida: Convertir HTML a un archivo PDF
El camino más corto a un PDF desde un string HTML es tres líneas de código Java:
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/quickstart.java
import com.ironsoftware.ironpdf.*;
// Convert an HTML string directly to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save to disk
pdf.saveAs("output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/quickstart.java
import com.ironsoftware.ironpdf.*;
// Convert an HTML string directly to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save to disk
pdf.saveAs("output.pdf");
Comience a usar IronPDF en su proyecto hoy con una prueba gratuita.
Tabla de contenido
- Instalación
- Conversión de HTML a PDF
- Opciones de formato PDF
- Próximos pasos
¿Cómo agrego IronPDF a un proyecto Maven en Java?
Agregar IronPDF a un proyecto de Maven requiere dos entradas en el bloque de dependencias del proyecto pom.xml. El primero trae la biblioteca de IronPDF; la segunda añade un proveedor de registro SLF4J para que IronPDF pueda escribir mensajes del motor durante la ejecución.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/maven-dependency.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.5</version>
</dependency>
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/maven-dependency.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.5</version>
</dependency>
El artefacto ironpdf hace referencia a la última versión y registro de cambios de IronPDF for Java. La dependencia slf4j-simple proporciona un backend de registro básico. You can substitute it with Logback or Log4J as needed, or omit it entirely to suppress log output.
Después de agregar ambas entradas, ejecute mvn install desde la raíz del proyecto para descargar los artefactos. Maven resolves the dependency against Maven Central.
com.ironsoftware:ironpdf para confirmar el número de versión más reciente antes de agregarlo a su pom.xml.¿Cómo instalo el JAR de IronPDF manualmente en Java?
Los proyectos que no usan Maven u otro gestor de dependencias pueden agregar IronPDF descargando el JAR directamente e incluyéndolo en el classpath. Navegue a la página de descarga de IronPDF for Java y descargue el archivo fat-JAR.
El fat-JAR incluye todas las dependencias, por lo que no se requieren entradas adicionales en el classpath además del artefacto principal. Optionally download an SLF4J implementation JAR to enable logging.
Agregue ambos JAR al classpath del proyecto utilizando el panel de gestión de bibliotecas de su IDE, o especifique entradas -classpath al compilar y ejecutar desde el terminal.
¿Cómo importo IronPDF en mis archivos fuente de Java?
El paquete com.ironsoftware.ironpdf contiene todos los componentes de conversión y procesamiento. Coloque la siguiente instrucción de importación al inicio de cada archivo Java que llame a métodos de IronPDF.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/import-statement.java
// Import all IronPDF components
import com.ironsoftware.ironpdf.*;
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/import-statement.java
// Import all IronPDF components
import com.ironsoftware.ironpdf.*;
Una importación dirigida que nombra clases específicas también es válida: import com.ironsoftware.ironpdf.PdfDocument;. La importación global es conveniente durante la exploración.
¿Cómo configuro una clave de licencia en IronPDF for Java?
IronPDF for Java es gratis para usar sin una clave de licencia, pero aplica una marca de agua de mosaico a todos los documentos PDF generados o modificados. Para eliminar la marca de agua, proporcione una clave de licencia válida antes de llamar a cualquier método de conversión o manipulación.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-license-key.java
// Set the license key before any PDF operations
License.setLicenseKey("YOUR-LICENSE-KEY");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-license-key.java
// Set the license key before any PDF operations
License.setLicenseKey("YOUR-LICENSE-KEY");
Coloque la llamada setLicenseKey al inicio de la aplicación, antes de que se llame a cualquier método PdfDocument. Compre una clave de licencia o inicie una prueba gratuita para generar PDFs sin marcas de agua.
Configuración de la ubicación del archivo de registro (Opcional)
Por defecto, IronPDF escribe mensajes del motor en un archivo llamado IronPdfEngine.log en el directorio raíz de la aplicación. Para cambiar la ruta del archivo de registro, llame a Settings.setLogPath antes de realizar cualquier operación PDF.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-log-path.java
import java.nio.file.Paths;
// Redirect log output before using IronPDF
Settings.setLogPath(Paths.get("logs/ironpdf-engine.log"));
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-log-path.java
import java.nio.file.Paths;
// Redirect log output before using IronPDF
Settings.setLogPath(Paths.get("logs/ironpdf-engine.log"));
setLogPath debe preceder a todas las llamadas PdfDocument. Llamarlo después de que haya comenzado una conversión no tiene efecto en esa sesión.¿Cómo convierto una cadena HTML a PDF en Java?
PdfDocument.renderHtmlAsPdf(String html) convierte cualquier marcado HTML válido en un documento PDF. El método acepta una cadena HTML sin formato y devuelve un objeto PdfDocument que puede guardarse, fusionarse o modificarse ulteriormente.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-to-pdf.java
// Convert a minimal HTML string to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting document to disk
pdf.saveAs("html-string-output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-to-pdf.java
// Convert a minimal HTML string to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting document to disk
pdf.saveAs("html-string-output.pdf");
El motor de renderizado se basa en Chromium, por lo que cualquier HTML, CSS o JavaScript que funcione en Chrome se renderizará correctamente en el PDF. Esto incluye diseños de Flexbox, CSS Grid, fuentes web, SVG y gráficos impulsados por JavaScript.
Una versión sobrecargada del método acepta un segundo argumento para una ruta base: renderHtmlAsPdf(String html, String basePath). Esta ruta base se usa para resolver referencias relativas a hojas de estilo locales, imágenes y scripts.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-with-assets.java
// HTML referencing local stylesheet and image
String html = "<html><head><link rel='stylesheet' href='style.css'></head>"
+ "<body><img src='logo.png'/><h1>Invoice</h1></body></html>";
// Provide the folder containing style.css and logo.png as the base path
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice-output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-with-assets.java
// HTML referencing local stylesheet and image
String html = "<html><head><link rel='stylesheet' href='style.css'></head>"
+ "<body><img src='logo.png'/><h1>Invoice</h1></body></html>";
// Provide the folder containing style.css and logo.png as the base path
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice-output.pdf");
La ruta base puede apuntar a un directorio en el sistema de archivos local o a una URL remota. IronPDF obtiene los recursos referenciados de esa ubicación durante el renderizado.
Para una vista enfocada de este método, vea el ejemplo de código de cadena HTML a PDF.
¿Cómo convierto una URL a PDF en Java?
PdfDocument.renderUrlAsPdf(String url) recupera la página en la URL dada y renderiza todo el DOM (incluida la ejecución de JavaScript) antes de guardar el resultado como PDF.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/url-to-pdf.java
// Render a live web page to PDF by URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the rendered document
pdf.saveAs("wikipedia-pdf-article.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/url-to-pdf.java
// Render a live web page to PDF by URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the rendered document
pdf.saveAs("wikipedia-pdf-article.pdf");
El motor de renderizado de Chromium obtiene hojas de estilo externas, fuentes y archivos de JavaScript, por lo que el PDF resultante refleja con precisión el estado visual de la página. Este método es adecuado para la generación de informes desde paneles web, archivar contenido web público o convertir visualizaciones de datos que dependen de la renderización del lado del cliente.
Vea el ejemplo de conversión de URL a PDF dedicado para opciones adicionales como encabezados de solicitud personalizados y autenticación.
¿Cómo convierto un archivo HTML a PDF en Java?
PdfDocument.renderHtmlFileAsPdf(String filePath) lee un archivo HTML desde el sistema de archivos local y lo convierte a PDF. El método resuelve automáticamente cualquier referencia de activos relativa en el archivo HTML contra el directorio del archivo.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-file-to-pdf.java
// Convert a local HTML file (with a linked CSS file) to PDF
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
// Save the resulting document
pdf.saveAs("invoice-from-file.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-file-to-pdf.java
// Convert a local HTML file (with a linked CSS file) to PDF
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
// Save the resulting document
pdf.saveAs("invoice-from-file.pdf");
El método maneja correctamente proyectos HTML de múltiples archivos. En el ejemplo anterior, si TestInvoice1.html enlaza a una hoja de estilo en el mismo directorio, IronPDF aplica esa hoja de estilo durante la renderización. El resultado es un PDF que coincide con la apariencia renderizada en el navegador del archivo fuente.
renderHtmlFileAsPdf desde una aplicación de servidor. Las rutas relativas se resuelven contra el directorio de trabajo de la JVM, que puede diferir de la ubicación del archivo HTML.Este método es particularmente útil para flujos de trabajo de generación de PDF que mantienen plantillas HTML en disco: generadores de facturas, plantillas de informe y sistemas de salida de formularios son casos de uso común.
¿Cómo configuro el tamaño y orientación de la página PDF en Java?
El tamaño y la orientación de la página se controlan a través de la clase ChromePdfRenderOptions. Cree una instancia ChromePdfRenderOptions, configure las propiedades y pásela como segundo argumento a cualquier llamada renderHtmlAsPdf.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/page-size-orientation.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Create rendering options for the PDF
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set paper size to A4
options.setPaperSize(PaperSize.A4);
// Set to landscape orientation
options.setPaperOrientation(PaperOrientation.Landscape);
// Apply options to the conversion
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Landscape Report</h1>", options);
pdf.saveAs("landscape-a4-report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/page-size-orientation.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Create rendering options for the PDF
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set paper size to A4
options.setPaperSize(PaperSize.A4);
// Set to landscape orientation
options.setPaperOrientation(PaperOrientation.Landscape);
// Apply options to the conversion
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Landscape Report</h1>", options);
pdf.saveAs("landscape-a4-report.pdf");
PaperSize incluye opciones estándar como A4, Letter, Legal, A3 y A5. PaperOrientation acepta Portrait (por defecto) o Landscape.
Para dimensiones no estándar, utilice setCustomPaperSizeInMillimeters(double width, double height) o setCustomPaperSizeInInches(double width, double height):
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-paper-size.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set a custom 100mm x 150mm page size
options.setCustomPaperSizeInMillimeters(100, 150);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<p>Custom size card</p>", options);
pdf.saveAs("custom-size-card.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-paper-size.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set a custom 100mm x 150mm page size
options.setCustomPaperSizeInMillimeters(100, 150);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<p>Custom size card</p>", options);
pdf.saveAs("custom-size-card.pdf");
Vea el ejemplo de tamaño de papel PDF personalizado para la lista completa de constantes PaperSize y opciones de tamaño.
¿Cómo configuro márgenes personalizados en un PDF en Java?
Los tamaños de margen también se establecen a través de ChromePdfRenderOptions. La biblioteca expone distintos métodos setters para márgenes superior, inferior, izquierdo y derecho, todos aceptando valores en milímetros.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-margins.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set all four margins in millimeters
options.setMarginTop(20);
options.setMarginBottom(20);
options.setMarginLeft(15);
options.setMarginRight(15);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<p>Document with custom margins</p>", options);
pdf.saveAs("custom-margins.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-margins.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set all four margins in millimeters
options.setMarginTop(20);
options.setMarginBottom(20);
options.setMarginLeft(15);
options.setMarginRight(15);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<p>Document with custom margins</p>", options);
pdf.saveAs("custom-margins.pdf");
Configurar todos los márgenes a cero elimina por completo el espacio en blanco, lo cual es útil para diseños a sangre, como etiquetas, certificados o diseños gráficos.
0 desactiva el margen en ese borde. Tenga en cuenta que los márgenes del controlador de impresora son separados de los márgenes de IronPDF, por lo que el contenido que llena el borde de la página aún puede ser cortado al imprimir.Para un ejemplo de código funcional, visite el ejemplo de márgenes personalizados.
¿Cómo agrego encabezados y pies de página a un PDF en Java?
IronPDF admite dos tipos de encabezados y pies de página: basados en texto (TextHeaderFooter) y basados en HTML (HtmlHeaderFooter). Los encabezados de texto son rápidos de configurar; Los encabezados HTML soportan estilo completo e imágenes.
Agregando un encabezado y pie de página de texto
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/text-header-footer.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
import com.ironsoftware.ironpdf.render.*;
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Configure a text-based header
TextHeaderFooter header = new TextHeaderFooter();
// Use merge fields: {page}, {total-pages}, {date}, {time}, {url}, {html-title}
header.setCenterText("Report Title");
header.setRightText("Page {page} of {total-pages}");
options.setTextHeader(header);
// Configure a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setCenterText("{date}");
options.setTextFooter(footer);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Annual Report</h1><p>Content here.</p>", options);
pdf.saveAs("report-with-headers.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/text-header-footer.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
import com.ironsoftware.ironpdf.render.*;
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Configure a text-based header
TextHeaderFooter header = new TextHeaderFooter();
// Use merge fields: {page}, {total-pages}, {date}, {time}, {url}, {html-title}
header.setCenterText("Report Title");
header.setRightText("Page {page} of {total-pages}");
options.setTextHeader(header);
// Configure a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setCenterText("{date}");
options.setTextFooter(footer);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Annual Report</h1><p>Content here.</p>", options);
pdf.saveAs("report-with-headers.pdf");
Los campos de combinación {page}, {total-pages}, {date}, {time}, {url} y {html-title} se reemplazan en el momento de la renderización con valores específicos del documento.
Agregando un encabezado HTML
Para encabezados que requieren logotipos, colores de marca o diseños complejos, use HtmlHeaderFooter:
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-header.java
import com.ironsoftware.ironpdf.headerfooter.*;
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setHtmlFragment(
"<div style='background:#003366;color:white;padding:8px;font-family:Arial;'>"
+ "<img src='/images/logo.png' style='height:30px;float:left;'/>"
+ "<span style='line-height:30px;margin-left:10px;'>Company Report</span>"
+ "</div>"
);
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
options.setHtmlHeader(header);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Q3 Results</h1>", options);
pdf.saveAs("report-with-html-header.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-header.java
import com.ironsoftware.ironpdf.headerfooter.*;
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setHtmlFragment(
"<div style='background:#003366;color:white;padding:8px;font-family:Arial;'>"
+ "<img src='/images/logo.png' style='height:30px;float:left;'/>"
+ "<span style='line-height:30px;margin-left:10px;'>Company Report</span>"
+ "</div>"
);
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
options.setHtmlHeader(header);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Q3 Results</h1>", options);
pdf.saveAs("report-with-html-header.pdf");
Vea el ejemplo de código de encabezados y pies de página para opciones adicionales de campos de combinación y comportamiento multipágina.
¿Cómo aplico una marca de agua a un PDF en Java?
IronPDF aplica marcas de agua estampando contenido HTML en las páginas PDF existentes. Este enfoque da control total sobre la posición, transparencia y estilo.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/watermark.java
import com.ironsoftware.ironpdf.*;
// Create the base PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Report</h1>");
// Apply a diagonal text watermark using HTML stamping
String watermarkHtml =
"<div style='position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);"
+ "font-size:80px;color:rgba(200,0,0,0.15);font-family:Arial;font-weight:bold;"
+ "white-space:nowrap;pointer-events:none;'>CONFIDENTIAL</div>";
pdf.applyStamp(watermarkHtml);
pdf.saveAs("watermarked-report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/watermark.java
import com.ironsoftware.ironpdf.*;
// Create the base PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Report</h1>");
// Apply a diagonal text watermark using HTML stamping
String watermarkHtml =
"<div style='position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);"
+ "font-size:80px;color:rgba(200,0,0,0.15);font-family:Arial;font-weight:bold;"
+ "white-space:nowrap;pointer-events:none;'>CONFIDENTIAL</div>";
pdf.applyStamp(watermarkHtml);
pdf.saveAs("watermarked-report.pdf");
El método applyStamp acepta HTML/CSS estándar. Usar un color rgba semitransparente para el texto asegura que la marca de agua sea visible sin oscurecer el contenido del documento debajo.
Para marcas de agua basadas en imágenes o aplicadas a rangos de páginas específicos, vea la guía de cómo crear marcas de agua personalizadas for Java.
¿Cómo comprimo un archivo PDF en Java?
Para archivos PDF que contienen imágenes, IronPDF puede reducir el tamaño del archivo al reajustar imágenes incrustadas a una resolución más baja. Use compressImages en un PdfDocument existente.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/compress-pdf.java
// Load an existing PDF or use one created by IronPDF
PdfDocument pdf = PdfDocument.fromFile(Paths.get("large-report.pdf"));
// Reduce image quality to 60% (value range: 1–100)
pdf.compressImages(60);
// Save the compressed document
pdf.saveAs("compressed-report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/compress-pdf.java
// Load an existing PDF or use one created by IronPDF
PdfDocument pdf = PdfDocument.fromFile(Paths.get("large-report.pdf"));
// Reduce image quality to 60% (value range: 1–100)
pdf.compressImages(60);
// Save the compressed document
pdf.saveAs("compressed-report.pdf");
El parámetro de calidad es un entero de 1 a 100, donde 100 conserva la calidad total de la imagen y valores más bajos reducen el tamaño del archivo a costa de la fidelidad de la imagen. Un valor de 60 a 80 ofrece un equilibrio práctico entre tamaño y calidad visual para la mayoría de documentos empresariales.
Vea el ejemplo de compresión de PDF para más detalles sobre los umbrales de calidad de imagen.
Próximos pasos
Este tutorial cubrió los tres métodos de conversión de HTML a PDF (cadena, URL y archivo) junto con el tamaño de página, márgenes, encabezados, pies de página, marcas de agua y compresión. Estas son las operaciones de formato de PDF más comunes para aplicaciones de servidor en Java.
Para ir más allá con IronPDF for Java:
- Explore los ejemplos de código completos para IronPDF for Java como puntos de partida para copiar y pegar
- Lea el ejemplo de configuración de generación de PDF para opciones de DPI, zoom y calidad de renderizado
- Vea cómo extraer texto e imágenes de PDFs existentes
- Aprenda cómo imprimir PDFs programáticamente desde una aplicación en Java
- Explore la referencia API de IronPDF for Java para la lista completa de métodos
PdfDocument
Inicie una prueba gratuita para generar PDFs sin marcas de agua, o vea las opciones de licencias para agregar IronPDF a un proyecto de producción.
Tutorial de acceso rápido
Descargar este tutorial como código fuente Java
El código fuente completo de HTML a PDF para este tutorial está disponible para descargar gratis como un proyecto IntelliJ comprimido.
DescargarExplora este tutorial en GitHub
El código fuente de este proyecto está disponible en GitHub como un proyecto de IntelliJ IDEA que también puede ser importado en Eclipse u otros IDEs de Java.
Ejemplos de formato de PDFs para IronPDF en JavaVer la referencia de la API
Explore la referencia de la API para IronPDF for Java, cubriendo los detalles de todas las clases, métodos, campos y enumeraciones en el paquete com.ironsoftware.ironpdf.
Preguntas Frecuentes
¿Cómo convierto una cadena HTML a un PDF en Java?
Utilice PdfDocument.renderHtmlAsPdf(String html) de la biblioteca IronPDF for Java. Pase su marcado HTML como argumento de cadena, luego llame a guardarComo en el objeto PdfDocument devuelto para escribir el archivo en el disco.
¿Cómo añado IronPDF a un proyecto de Maven?
Añada el artefacto com.ironsoftware:ironpdf a la sección de su archivo pom.xml. También añada una implementación SLF4J como org.slf4j:slf4j-simple para habilitar el registro. Ejecute mvn install para descargar ambos artefactos.
¿Cómo establezco el tamaño de página de un PDF generado con IronPDF for Java?
Cree un objeto ChromePdfRenderOptions y llame a setPaperSize(PaperSize.A4) (u otra constante). Pase el objeto de opciones como el segundo argumento a renderHtmlAsPdf. Para dimensiones no estándar, utilice setCustomPaperSizeInMillimeters.
¿Cómo añado un encabezado y pie de página a un PDF en Java?
Utilice TextoEncabezadoPie para encabezados y pies de página de texto simple, o HtmlEncabezadoPie para contenido HTML totalmente estilizado. Configure el objeto con texto o HTML, establézcalo en una instancia de ChromePdfRenderOptions usando setTextHeader o setHtmlHeader, y pase las opciones al método de renderizado.
¿Cómo aplico una marca de agua a un PDF usando IronPDF for Java?
Llame a applyStamp(String htmlFragment) en un PdfDocument existente. Pase una cadena HTML que defina la apariencia de la marca de agua, usando CSS position:absolute, transform:rotate, y un color rgba semitransparente para superponer texto sin ocultar el contenido subyacente.
¿Puede IronPDF for Java convertir una página web a un PDF?
Sí. Llame a PdfDocument.renderUrlAsPdf(String url) con la URL de la página. IronPDF utiliza un motor de renderizado Chromium para obtener y ejecutar la página, incluido JavaScript, antes de generar la salida PDF.
¿Cómo elimino la marca de agua de IronPDF de los PDFs generados?
Llame a License.setLicenseKey("SU-CLAVE-DE-LICENCIA") antes de cualquier operación PDF. La marca de agua se aplica a los PDFs generados sin una clave de licencia válida. Puede obtener una licencia o una clave de prueba gratuita en ironpdf.com/java/licensing/.
¿Cómo comprimo un archivo PDF con IronPDF for Java?
Cargue el PDF usando PdfDocument.fromFile, luego llame a compressImages(int quality) con un valor de 1 a 100. Valores más bajos reducen el tamaño del archivo al muestrear imágenes incrustadas a menor resolución. Llame a saveAs para escribir el archivo comprimido.
¿IronPDF for Java admite márgenes de página personalizados?
Sí. Utilice ChromePdfRenderOptions y llame a setMarginTop, setMarginBottom, setMarginLeft y setMarginRight con valores en milímetros. Pase las opciones al método de renderizado para aplicar los márgenes.
¿Qué versiones de Java admite IronPDF?
IronPDF for Java admite Java 8 y versiones posteriores. La biblioteca está disponible como un artefacto Maven en com.ironsoftware:ironpdf y como una descarga de JAR autónomo desde ironpdf.com/java/.






