Cómo crear archivos PDF en Java
Crear archivos PDF en Java es un requisito común para aplicaciones de negocio: generar facturas e informes bajo demanda, producir certificados, recibos y registros de auditoría. IronPDF for Java convierte HTML a PDF usando un motor de renderizado Chromium completo, lo que significa que cualquier contenido HTML5, CSS3 y JavaScript se renderiza fielmente, sin pérdida de formato.
Esta guía cubre tres métodos de creación de PDF: desde una cadena HTML, desde un archivo HTML local y desde una URL en vivo. También cubre el formato de página, protección con contraseña e integración con Spring Boot.
Inicio rápido: Crear un PDF desde HTML en Java
- Añade IronPDF a tu
pom.xml:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/maven-dependency.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/maven-dependency.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
- Importe la biblioteca y cree un PDF:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/quickstart.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Set your license key (remove watermarks in production)
License.setLicenseKey("Your-License-Key");
// Convert HTML string to PDF and save
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello, IronPDF!</h1>");
pdf.saveAs(Paths.get("output.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/quickstart.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Set your license key (remove watermarks in production)
License.setLicenseKey("Your-License-Key");
// Convert HTML string to PDF and save
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello, IronPDF!</h1>");
pdf.saveAs(Paths.get("output.pdf"));
Cómo Crear un Archivo PDF en Java
- Instale la biblioteca IronPDF for Java mediante Maven o Gradle
- Importe
com.ironsoftware.ironpdf.*y configure su clave de licencia - Llame a
PdfDocument.renderHtmlAsPdf()con una cadena HTML para crear un PDF en la memoria - Use
PdfDocument.renderHtmlFileAsPdf()para convertir un archivo HTML local a PDF - Llame a
pdf.saveAs()para escribir el documento terminado en el disco
¿Qué es IronPDF for Java y por qué usarlo?
IronPDF for Java es una biblioteca de generación y manipulación de PDF construida sobre el motor de renderizado Chromium. Debido a que renderiza HTML exactamente como Chrome lo hace, maneja diseños complejos, fuentes personalizadas, animaciones CSS, contenido generado por JavaScript e imágenes incrustadas sin código de diseño manual.
La biblioteca cubre el ciclo de vida completo del PDF en una sola dependencia. Los desarrolladores pueden crear documentos desde cero, convertir contenido HTML existente, combinar o dividir archivos, agregar marcas de agua, cifrar con contraseñas, extraer texto e imágenes y generar formularios rellenables, todo a través de una API consistente. Para flujos de trabajo pesados en HTML, IronPDF evita los cálculos manuales de diseño de página requeridos por bibliotecas de PDF de bajo nivel como Apache PDFBox.
A diferencia de iText, que requiere una licencia de código abierto AGPL para la mayoría de usos comerciales, IronPDF se envía con licencias amigables para comerciales y no requiere una revisión de cumplimiento de licencia compleja. IronPDF for Java se envía como un artefacto Maven y funciona en Windows, Linux y macOS. Se integra con Spring Boot, Jakarta EE y aplicaciones Java independientes. La biblioteca también soporta implementaciones en servidores en AWS, Azure y Google Cloud.
¿Cuáles son los requisitos previos para usar IronPDF en Java?
¿Qué versión de Java y herramienta de compilación se requieren?
IronPDF for Java requiere JDK 8 o posterior. El mínimo recomendado es JDK 11 (LTS) para uso en producción. Download the JDK from the Oracle download page or use an OpenJDK distribution such as Eclipse Temurin.
Maven (3.6+) y Gradle (7.0+) son ambos compatibles. Maven es la elección más común para proyectos Java empresariales.
¿Cómo agrego IronPDF a un proyecto Maven?
Abre el pom.xml de tu proyecto y añade la siguiente dependencia dentro del bloque <dependencies>:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/maven-full.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/maven-full.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
Después de guardar, ejecuta mvn install o deja que tu IDE resuelva la dependencia automáticamente. Maven descarga IronPDF de Maven Central, por lo que no se necesita configurar un repositorio privado.
¿Cómo agrego IronPDF a un proyecto Gradle?
Añade la siguiente línea al bloque dependencies en tu archivo build.gradle:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/gradle-dependency.gradle
implementation 'com.ironsoftware:ironpdf:2024.9.1'
Ejecuta gradle build para obtener la biblioteca. Check Maven Central for the latest published version.
¿Qué importaciones y configuraciones se necesitan?
Agregue estas declaraciones de importación en la parte superior de su archivo de código fuente Java:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/imports.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.ChromePdfRenderOptions;
import com.ironsoftware.ironpdf.render.PaperOrientation;
import com.ironsoftware.ironpdf.render.PaperSize;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import com.ironsoftware.ironpdf.security.SecurityManager;
import java.io.IOException;
import java.nio.file.Paths;
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/imports.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.ChromePdfRenderOptions;
import com.ironsoftware.ironpdf.render.PaperOrientation;
import com.ironsoftware.ironpdf.render.PaperSize;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import com.ironsoftware.ironpdf.security.SecurityManager;
import java.io.IOException;
import java.nio.file.Paths;
Antes de generar cualquier PDF, establece tu clave de licencia en el método main o en el inicio de la aplicación:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/license-setup.java
License.setLicenseKey("Your-License-Key");
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/license-setup.java
License.setLicenseKey("Your-License-Key");
Nota: Sin una clave de licencia válida, los PDFs se generan con una marca de agua de prueba. Compre una licencia o comience una prueba gratuita para eliminarla. Vea usando claves de licencia en Java para opciones de configuración adicionales.
¿Cómo creo un PDF desde una cadena HTML en Java?
Pasa cualquier cadena de HTML directamente a PdfDocument.renderHtmlAsPdf(). IronPDF devuelve una instancia de PdfDocument que representa el documento terminado en memoria. Llama a saveAs() para escribirlo en el disco.
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-string-to-pdf.java
// HTML content with inline CSS
String htmlContent = "<h1>Hello World!</h1><p>This is an example HTML string.</p>";
// Render HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlContent);
// Save to disk
pdf.saveAs(Paths.get("html.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-string-to-pdf.java
// HTML content with inline CSS
String htmlContent = "<h1>Hello World!</h1><p>This is an example HTML string.</p>";
// Render HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlContent);
// Save to disk
pdf.saveAs(Paths.get("html.pdf"));
renderHtmlAsPdf() soporta la especificación completa de HTML5 y CSS3, incluyendo fuentes web, Flexbox, layouts de Grid y ejecución de JavaScript. El siguiente ejemplo usa una plantilla HTML de varias líneas con estilos personalizados:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-string-styled.java
// Multi-line HTML with CSS styling using a text block (Java 13+)
String styledHtml = """
<!DOCTYPE html>
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h1 { color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 8px; }
.summary { background: #f3f4f6; padding: 16px; border-radius: 4px; }
</style>
</head>
<body>
<h1>Invoice #1042</h1>
<div class="summary">
<p>Amount due: $1,250.00</p>
<p>Due date: 2024-06-01</p>
</div>
</body>
</html>
""";
PdfDocument invoice = PdfDocument.renderHtmlAsPdf(styledHtml);
invoice.saveAs(Paths.get("invoice.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-string-styled.java
// Multi-line HTML with CSS styling using a text block (Java 13+)
String styledHtml = """
<!DOCTYPE html>
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h1 { color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 8px; }
.summary { background: #f3f4f6; padding: 16px; border-radius: 4px; }
</style>
</head>
<body>
<h1>Invoice #1042</h1>
<div class="summary">
<p>Amount due: $1,250.00</p>
<p>Due date: 2024-06-01</p>
</div>
</body>
</html>
""";
PdfDocument invoice = PdfDocument.renderHtmlAsPdf(styledHtml);
invoice.saveAs(Paths.get("invoice.pdf"));
El ejemplo de factura anterior usa bloques de texto de Java (disponibles desde Java 13) para un HTML de varias líneas más limpio. Para versiones de Java más antiguas, concatena la cadena de HTML manualmente o cárgala desde un archivo usando renderHtmlFileAsPdf(). Para una vista más amplia de la conversión HTML-a-PDF incluyendo renderizado JavaScript, vea el tutorial HTML a PDF for Java.
¿Cómo creo un PDF desde un archivo HTML local en Java?
Utiliza PdfDocument.renderHtmlFileAsPdf() para convertir un archivo HTML almacenado en el sistema de archivos local. Pase la ruta como una cadena; las rutas relativas se resuelven en función del directorio de trabajo actual:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-file-to-pdf.java
// Convert a local HTML file to PDF
PdfDocument filePdf = PdfDocument.renderHtmlFileAsPdf("invoice-template.html");
// Save the converted document
filePdf.saveAs(Paths.get("invoice_output.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-file-to-pdf.java
// Convert a local HTML file to PDF
PdfDocument filePdf = PdfDocument.renderHtmlFileAsPdf("invoice-template.html");
// Save the converted document
filePdf.saveAs(Paths.get("invoice_output.pdf"));
IronPDF resuelve todos los recursos referenciados (archivos CSS externos, imágenes locales y bibliotecas JavaScript) relativos al directorio del archivo HTML. Esto significa que puede construir una plantilla HTML completa con hojas de estilo enlazadas y ejecutarla a través de IronPDF sin modificar ninguna ruta de recursos.
El método acepta tanto una ruta String como un objeto java.nio.file.Path. Para uso en producción, prefiera rutas absolutas para evitar ambigüedades del directorio de trabajo. Vea el ejemplo de archivo HTML a PDF para una demostración completamente funcional.
¿Cómo creo un PDF desde la URL de una página web en Java?
PdfDocument.renderUrlAsPdf() obtiene una URL en vivo, la renderiza usando Chromium, y devuelve un PDF. Esto es útil para capturar instantáneas de paneles, generar recibos PDF desde páginas de recibos alojados o archivar contenido web:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/url-to-pdf.java
// Render a live web page to PDF
PdfDocument webPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
webPdf.saveAs(Paths.get("ironpdf-homepage.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/url-to-pdf.java
// Render a live web page to PDF
PdfDocument webPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
webPdf.saveAs(Paths.get("ironpdf-homepage.pdf"));
Para páginas detrás de autenticación HTTP, pasa las credenciales a través de ChromePdfRenderOptions:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/url-to-pdf-auth.java
// Configure render options with login credentials
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
renderOptions.setAuthUsername("username");
renderOptions.setAuthPassword("password");
// Render authenticated page to PDF
PdfDocument securedPdf = PdfDocument.renderUrlAsPdf("https://your-internal-app.com/report", renderOptions);
securedPdf.saveAs(Paths.get("internal-report.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/url-to-pdf-auth.java
// Configure render options with login credentials
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
renderOptions.setAuthUsername("username");
renderOptions.setAuthPassword("password");
// Render authenticated page to PDF
PdfDocument securedPdf = PdfDocument.renderUrlAsPdf("https://your-internal-app.com/report", renderOptions);
securedPdf.saveAs(Paths.get("internal-report.pdf"));
Consulte el ejemplo de código de URL a PDF para más detalles. Para flujos de inicio de sesión más complejos usando cookies o autenticación basada en formularios, vea manejo de inicio de sesión en sitios web.
¿Cómo controlo el tamaño de página, la orientación y los márgenes?
Utiliza ChromePdfRenderOptions para personalizar el diseño físico del PDF de salida. Pase las opciones configuradas como el segundo argumento a cualquier método de renderizado. Los ajustes más comunes son la orientación de la página, el tamaño del papel y los márgenes:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/pdf-formatting.java
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
// Set landscape orientation (default is portrait)
renderOptions.setPaperOrientation(PaperOrientation.LANDSCAPE);
// Use US Letter paper size (default is A4)
renderOptions.setPaperSize(PaperSize.LETTER);
// Set margins in millimeters (top, right, bottom, left)
renderOptions.setMarginTop(15);
renderOptions.setMarginRight(15);
renderOptions.setMarginBottom(15);
renderOptions.setMarginLeft(15);
// Include background colors and images
renderOptions.setPrintHtmlBackgrounds(true);
// Apply options when rendering
PdfDocument report = PdfDocument.renderHtmlAsPdf("<h1>Quarterly Report</h1>", renderOptions);
report.saveAs(Paths.get("report.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/pdf-formatting.java
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
// Set landscape orientation (default is portrait)
renderOptions.setPaperOrientation(PaperOrientation.LANDSCAPE);
// Use US Letter paper size (default is A4)
renderOptions.setPaperSize(PaperSize.LETTER);
// Set margins in millimeters (top, right, bottom, left)
renderOptions.setMarginTop(15);
renderOptions.setMarginRight(15);
renderOptions.setMarginBottom(15);
renderOptions.setMarginLeft(15);
// Include background colors and images
renderOptions.setPrintHtmlBackgrounds(true);
// Apply options when rendering
PdfDocument report = PdfDocument.renderHtmlAsPdf("<h1>Quarterly Report</h1>", renderOptions);
report.saveAs(Paths.get("report.pdf"));
ChromePdfRenderOptions expone más de 30 configuraciones además de las mostradas arriba, incluyendo DPI, tiempo de espera de ejecución de JavaScript, factor de zoom y tipo de medio CSS. Consulta PDF generation settings para una lista completa. Para tamaños de papel personalizados no incluidos en el enum PaperSize, consulta custom PDF paper sizes.
¿Cómo agrego protección con contraseña a un PDF en Java?
SecurityOptions controla las contraseñas de lectura y del propietario, así como las banderas de permisos. Pasa SecurityOptions al SecurityManager del documento antes de guardar:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/password-protect-basic.java
// Create security settings with a user-facing password
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setUserPassword("shareable");
// Apply security to the document
PdfDocument urlPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
SecurityManager securityManager = urlPdf.getSecurity();
securityManager.setSecurityOptions(securityOptions);
// Save the password-protected document
urlPdf.saveAs(Paths.get("protected.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/password-protect-basic.java
// Create security settings with a user-facing password
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setUserPassword("shareable");
// Apply security to the document
PdfDocument urlPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
SecurityManager securityManager = urlPdf.getSecurity();
securityManager.setSecurityOptions(securityOptions);
// Save the password-protected document
urlPdf.saveAs(Paths.get("protected.pdf"));
Para un control más estricto, configure una contraseña de propietario y restrinja operaciones específicas:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/password-protect-advanced.java
SecurityOptions advancedSecurity = new SecurityOptions();
// User password: required to open the file
advancedSecurity.setUserPassword("user-open-pass");
// Owner password: required to change security settings
advancedSecurity.setOwnerPassword("owner-admin-pass");
// Restrict editing operations
advancedSecurity.setAllowPrint(false);
advancedSecurity.setAllowCopy(false);
advancedSecurity.setAllowEditContent(false);
advancedSecurity.setAllowEditAnnotations(false);
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/password-protect-advanced.java
SecurityOptions advancedSecurity = new SecurityOptions();
// User password: required to open the file
advancedSecurity.setUserPassword("user-open-pass");
// Owner password: required to change security settings
advancedSecurity.setOwnerPassword("owner-admin-pass");
// Restrict editing operations
advancedSecurity.setAllowPrint(false);
advancedSecurity.setAllowCopy(false);
advancedSecurity.setAllowEditContent(false);
advancedSecurity.setAllowEditAnnotations(false);
Abrir el PDF solicita al lector una contraseña:
Después de ingresar la contraseña correcta, el PDF se abre y muestra el contenido completo:
Vea configuraciones de seguridad y metadatos para la lista completa de banderas de permiso.
¿Cómo genero PDFs en una aplicación Spring Boot?
IronPDF se integra directamente con Spring Boot. Devuelva un PDF como una respuesta HTTP de matriz de bytes desde cualquier método de controlador; este patrón funciona para la generación de informes bajo demanda, descargas de facturas y exportaciones de datos.
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/spring-boot-controller.java
import com.ironsoftware.ironpdf.*;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
@RestController
@RequestMapping("/api/pdf")
public class PdfController {
@GetMapping("/invoice/{id}")
public ResponseEntity<byte[]> generateInvoice(@PathVariable String id) throws IOException {
// Build HTML dynamically using the invoice ID
String html = """
<html><body>
<h1>Invoice #%s</h1>
<p>Amount due: $500.00</p>
</body></html>
""".formatted(id);
// Render and return as PDF download
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
byte[] pdfBytes = pdf.getBinaryData();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_PDF);
headers.setContentDispositionFormData("attachment", "invoice-" + id + ".pdf");
return ResponseEntity.ok().headers(headers).body(pdfBytes);
}
}
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/spring-boot-controller.java
import com.ironsoftware.ironpdf.*;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
@RestController
@RequestMapping("/api/pdf")
public class PdfController {
@GetMapping("/invoice/{id}")
public ResponseEntity<byte[]> generateInvoice(@PathVariable String id) throws IOException {
// Build HTML dynamically using the invoice ID
String html = """
<html><body>
<h1>Invoice #%s</h1>
<p>Amount due: $500.00</p>
</body></html>
""".formatted(id);
// Render and return as PDF download
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
byte[] pdfBytes = pdf.getBinaryData();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_PDF);
headers.setContentDispositionFormData("attachment", "invoice-" + id + ".pdf");
return ResponseEntity.ok().headers(headers).body(pdfBytes);
}
}
El método getBinaryData() devuelve el PDF como un arreglo de bytes, que Spring Boot transmite directamente al cliente. No se escribe ningún archivo temporal en el disco. Para despliegues de alto rendimiento, instancia License.setLicenseKey() en un método @PostConstruct o en un oyente de inicio de la aplicación en lugar de por solicitud.
¿Cuáles son los siguientes pasos para la creación de PDFs en Java?
Esta guía demostró cuatro enfoques para la generación de PDFs en Java usando IronPDF: renderizado de cadenas HTML, conversión de archivos locales, captura de URL y transmisión de respuestas HTTP en Spring Boot. Todos los métodos comparten la misma API de PdfDocument, ChromePdfRenderOptions para el control de formato, y SecurityOptions para la protección de acceso.
IronPDF for Java también soporta agregar y estampar marcas de agua, combinación de múltiples archivos PDF, división de PDFs en páginas individuales, agregar firmas digitales, renderizar gráficos JavaScript a PDF, y imprimir PDFs programáticamente.
Comience una prueba gratuita para generar PDFs sin marcas de agua, o vea opciones de licencias para elegir un plan que se ajuste a su proyecto. ¿Listo para profundizar más? Consulte la página completa de tutoriales IronPDF for Java.
Preguntas Frecuentes
¿Cómo creo un PDF a partir de una cadena HTML en Java?
Pase su cadena HTML a PdfDocument.renderHtmlAsPdf(). El método devuelve un objeto PdfDocument en memoria. Llame a pdf.saveAs(Paths.get("output.pdf")) para escribirlo en disco. IronPDF admite HTML5 completo, CSS3 y JavaScript.
¿Qué versión de Java requiere IronPDF?
IronPDF for Java requiere JDK 8 o posterior. JDK 11 LTS es el mínimo recomendado para implementaciones en producción.
¿Cómo añado IronPDF a un proyecto de Maven?
Añada el bloque de dependencia con groupId com.ironsoftware y artifactId ironpdf dentro de la sección de su pom.xml, luego ejecute mvn install.
¿Cómo creo un PDF a partir de un archivo HTML local en Java?
Llame a PdfDocument.renderHtmlFileAsPdf() con la ruta a su archivo HTML. IronPDF resuelve automáticamente todo CSS, imágenes y JavaScript enlazados en relación al directorio del archivo.
¿Puedo crear un PDF a partir de una URL en Java?
Sí. Llame a PdfDocument.renderUrlAsPdf() con la URL objetivo. IronPDF obtiene la página usando Chromium y devuelve un PdfDocument. Para páginas detrás de autenticación HTTP, pase credenciales a través de ChromePdfRenderOptions.
¿Cómo protejo con contraseña un PDF en Java con IronPDF?
Cree un objeto SecurityOptions, llame a setUserPassword() con su contraseña, luego pase las opciones a urlPdf.getSecurity().setSecurityOptions() antes de llamar a saveAs().
¿Cómo uso IronPDF en una aplicación Spring Boot?
Inyecte su lógica de generación de PDF en un método @RestController. Llame a PdfDocument.renderHtmlAsPdf(), luego use pdf.getBinaryData() para obtener una matriz de bytes y regresar como un ResponseEntity con MediaType.APPLICATION_PDF.
¿Cómo configuro tamaño de página y orientación en IronPDF for Java?
Cree un objeto ChromePdfRenderOptions, llame a setPaperSize() y setPaperOrientation(), luego páselo como segundo argumento a cualquier método de renderizado. Configure el tamaño de papel antes de la orientación para evitar conflictos de orden.
¿IronPDF funciona en Linux y macOS for Java?
Sí. IronPDF for Java funciona en Windows, Linux y macOS. También admite implementaciones en la nube en AWS, Azure y Google Cloud sin requerir un visor PDF o motor de renderizado externo.
¿Los PDFs tendrán una marca de agua sin una clave de licencia?
Sí. Sin una clave de licencia válida, IronPDF añade una marca de agua de prueba a todos los documentos generados. Llame a License.setLicenseKey() con una clave válida al iniciar la aplicación para eliminarla.




