Cómo Escribir Archivos PDF en Java
Este artículo explorará IronPDF para crear documentos PDF programáticamente.
Librería PDF IronPDF for Java
La Biblioteca de PDF de Java por IronPDF permite a los desarrolladores crear, editar y manipular documentos PDF en sus aplicaciones Java. Los desarrolladores de Java que necesitan crear archivos PDF a partir de los datos de sus aplicaciones encontrarán que esta biblioteca es una excelente elección porque ofrece un conjunto diverso de funcionalidades.
IronPDF viene con características como agregar nuevo contenido HTML, incrustar encabezados y pies de página HTML, sellar y añadir marcas de agua a los documentos, crear archivos PDF protegidos con contraseña, aplicar firmas digitales a archivos PDF, mejorar documentos con fondos y primeros planos, crear un archivo PDF completo a partir de documentos XML, agregar y editar anotaciones, y usar esquemas y marcadores para una mejor navegación. Echemos un vistazo más de cerca.
Añadir nuevo contenido HTML
Con IronPDF, los desarrolladores pueden agregar fácilmente nuevo contenido HTML a sus documentos PDF. Esta es una gran característica para los desarrolladores que desean generar dinámicamente sus documentos de formularios PDF con contenido HTML enriquecido. La biblioteca es compatible con muchos elementos HTML, incluidas imágenes, enlaces y tablas, entre otros. El contenido HTML también puede ser estilizado usando CSS, lo que facilita la creación de PDFs con aspecto profesional.
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// Set a log path
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Render the HTML as a PDF. Stored in myPdf as type PdfDocument.
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Hello World</h1> Made with IronPDF!");
// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("html_saved.pdf"));import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// Set a log path
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Render the HTML as a PDF. Stored in myPdf as type PdfDocument.
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Hello World</h1> Made with IronPDF!");
// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("html_saved.pdf"));
PDF de Salida
Añadir encabezados y pies de página HTML
Los encabezados y los pies de página son componentes esenciales de muchos documentos PDF, e IronPDF facilita la integración de encabezados y pies de página HTML en tus documentos. Con IronPDF, los desarrolladores pueden agregar encabezados y pies de página personalizados, incluidos texto, imágenes y números de página, a sus documentos PDF. Esta característica es particularmente útil para las empresas que necesitan agregar información de marca o de derechos de autor a sus documentos.
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.headerfooter.HtmlHeaderFooter;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.List;
import java.util.ArrayList;
// Render a PDF from a URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
// Build a footer using HTML
HtmlHeaderFooter footer = new HtmlHeaderFooter();
footer.setMaxHeight(15); // millimeters
footer.setHtmlFragment("<center><i>{page} of {total-pages}</i></center>");
footer.setDrawDividerLine(true);
pdf.addHtmlFooter(footer);
List<PdfDocument> pdfs = new ArrayList<>();
// Build a header using an image asset
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setMaxHeight(20); // millimeters
header.setHtmlFragment("<img src=\"logo.png\" />");
header.setBaseUrl("./assets/");
pdf.addHtmlHeader(header);
try {
pdf.saveAs(Paths.get("assets/html_headers_footers.pdf"));
} catch (IOException e) {
throw new RuntimeException(e);
}import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.headerfooter.HtmlHeaderFooter;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.List;
import java.util.ArrayList;
// Render a PDF from a URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
// Build a footer using HTML
HtmlHeaderFooter footer = new HtmlHeaderFooter();
footer.setMaxHeight(15); // millimeters
footer.setHtmlFragment("<center><i>{page} of {total-pages}</i></center>");
footer.setDrawDividerLine(true);
pdf.addHtmlFooter(footer);
List<PdfDocument> pdfs = new ArrayList<>();
// Build a header using an image asset
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setMaxHeight(20); // millimeters
header.setHtmlFragment("<img src=\"logo.png\" />");
header.setBaseUrl("./assets/");
pdf.addHtmlHeader(header);
try {
pdf.saveAs(Paths.get("assets/html_headers_footers.pdf"));
} catch (IOException e) {
throw new RuntimeException(e);
}
PDF de Salida
Sello y marca de agua
Usando IronPDF, los desarrolladores pueden agregar sellos y marcas de agua a sus documentos PDF. Las marcas de agua son imágenes o textos transparentes que aparecen en el fondo del documento, mientras que los sellos agregan un mensaje o imagen personalizada a un nuevo documento.
Estas características son excelentes para las empresas que necesitan proteger sus documentos del uso no autorizado o agregar un mensaje personalizado a sus documentos.
package IronPDF.ironpdf_java;
import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;
public class Test {
public static void main(String[] args) throws IOException {
License.setLicenseKey("Your-License");
// Load an existing PDF from the filesystem
PdfDocument pdf = PdfDocument.fromFile(Paths.get("C:\\byteToPdf.pdf"));
// Apply a watermark to the PDF
pdf.applyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, VerticalAlignment.TOP, HorizontalAlignment.CENTER);
// Save the watermarked PDF
pdf.saveAs(Paths.get("assets/watermark.pdf"));
}
}package IronPDF.ironpdf_java;
import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;
public class Test {
public static void main(String[] args) throws IOException {
License.setLicenseKey("Your-License");
// Load an existing PDF from the filesystem
PdfDocument pdf = PdfDocument.fromFile(Paths.get("C:\\byteToPdf.pdf"));
// Apply a watermark to the PDF
pdf.applyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, VerticalAlignment.TOP, HorizontalAlignment.CENTER);
// Save the watermarked PDF
pdf.saveAs(Paths.get("assets/watermark.pdf"));
}
}
PDF de Salida
Fondos y primeros planos
IronPDF también permite que los desarrolladores implementen fondos y primeros planos personalizados en sus documentos PDF. Los primeros planos se usan para agregar texto o imágenes personalizadas sobre un documento, mientras que los fondos agregan una imagen o color personalizado al fondo. Los propietarios de empresas que desean que sus documentos o formularios PDF tengan una marca o gráficos personalizados encontrarán esta característica particularmente útil.
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
public class BackgroundForegroundExample {
public static void main(String[] args) throws IOException {
// Load background and foreground PDFs from the filesystem
PdfDocument backgroundPdf = PdfDocument.fromFile(Paths.get("assets/MyBackground.pdf"));
PdfDocument foregroundPdf = PdfDocument.fromFile(Paths.get("assets/MyForeground.pdf"));
// Render content (HTML, URL, etc) as a PDF Document
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
// Add the background and foreground PDFs to the newly-rendered document.
pdf.addBackgroundPdf(backgroundPdf);
pdf.addForegroundPdf(foregroundPdf);
// Save the document with background and foreground
pdf.saveAs(Paths.get("assets/BackgroundForegroundPdf.pdf"));
}
}import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
public class BackgroundForegroundExample {
public static void main(String[] args) throws IOException {
// Load background and foreground PDFs from the filesystem
PdfDocument backgroundPdf = PdfDocument.fromFile(Paths.get("assets/MyBackground.pdf"));
PdfDocument foregroundPdf = PdfDocument.fromFile(Paths.get("assets/MyForeground.pdf"));
// Render content (HTML, URL, etc) as a PDF Document
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
// Add the background and foreground PDFs to the newly-rendered document.
pdf.addBackgroundPdf(backgroundPdf);
pdf.addForegroundPdf(foregroundPdf);
// Save the document with background and foreground
pdf.saveAs(Paths.get("assets/BackgroundForegroundPdf.pdf"));
}
}Añadir y editar anotaciones
Las anotaciones son una excelente manera de agregar información adicional a documentos PDF, como notas, comentarios o destacados. Con IronPDF, los desarrolladores pueden gestionar anotaciones eficazmente agregándolas y editándolas en sus documentos PDF.
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.annotation.AnnotationIcon;
import com.ironsoftware.ironpdf.annotation.AnnotationManager;
import com.ironsoftware.ironpdf.annotation.AnnotationOptions;
import java.io.IOException;
import java.nio.file.Paths;
public class AnnotationExample {
public static void main(String[] args) throws IOException {
// Load an existing PDF from the file system
PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/example.pdf"));
// Create an annotation to be placed at a specific location on a page.
AnnotationOptions annotation = new AnnotationOptions(
"This is a major title", // Title of the annotation
"This is the long 'sticky note' comment content...", // Content of the annotation
150, // x-axis coordinate location
250 // y-axis coordinate location
);
annotation.setIcon(AnnotationIcon.HELP);
annotation.setOpacity(0.9);
annotation.setPrintable(false);
annotation.setHidden(false);
annotation.setOpen(true);
annotation.setReadonly(true);
annotation.setRotateable(true);
// Add the annotation to a specific page of the PDF
AnnotationManager annotationManager = pdf.getAnnotation();
annotationManager.addTextAnnotation(annotation, 0); // Add to the first page
// Save the PDF with the modifications
pdf.saveAs(Paths.get("assets/annotated.pdf"));
}
}import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.annotation.AnnotationIcon;
import com.ironsoftware.ironpdf.annotation.AnnotationManager;
import com.ironsoftware.ironpdf.annotation.AnnotationOptions;
import java.io.IOException;
import java.nio.file.Paths;
public class AnnotationExample {
public static void main(String[] args) throws IOException {
// Load an existing PDF from the file system
PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/example.pdf"));
// Create an annotation to be placed at a specific location on a page.
AnnotationOptions annotation = new AnnotationOptions(
"This is a major title", // Title of the annotation
"This is the long 'sticky note' comment content...", // Content of the annotation
150, // x-axis coordinate location
250 // y-axis coordinate location
);
annotation.setIcon(AnnotationIcon.HELP);
annotation.setOpacity(0.9);
annotation.setPrintable(false);
annotation.setHidden(false);
annotation.setOpen(true);
annotation.setReadonly(true);
annotation.setRotateable(true);
// Add the annotation to a specific page of the PDF
AnnotationManager annotationManager = pdf.getAnnotation();
annotationManager.addTextAnnotation(annotation, 0); // Add to the first page
// Save the PDF with the modifications
pdf.saveAs(Paths.get("assets/annotated.pdf"));
}
}
Archivo de Salida
Contornos y marcadores
Los desarrolladores pueden mejorar documentos PDF utilizando marcadores con IronPDF. Un esquema proporciona una visión general de alto nivel del contenido de un documento, mientras que los marcadores proporcionan un acceso rápido a secciones específicas. Para documentos grandes o complejos, esta característica permite a los usuarios navegar rápidamente a sus secciones deseadas.
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.Bookmark;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.List;
public class BookmarkExample {
public static void main(String[] args) throws IOException {
// Load an existing PDF from the file system
PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/book.pdf"));
// Add top-level bookmarks to pages of the PDF using their page indices
BookmarkManager bookmarks = pdf.getBookmark();
bookmarks.addBookMarkAtEnd("Author's Note", 2);
bookmarks.addBookMarkAtEnd("Table of Contents", 3);
bookmarks.addBookMarkAtEnd("Summary", 10);
bookmarks.addBookMarkAtEnd("References", 12);
List<Bookmark> bookmarkList = bookmarks.getBookmarks();
Bookmark bookmark = bookmarkList.get(2);
// Add a child bookmark
bookmark.addChildBookmark("Conclusion", 11);
// Save the PDF to the filesystem
pdf.saveAs(Paths.get("assets/bookmarked.pdf"));
}
}import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.Bookmark;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.List;
public class BookmarkExample {
public static void main(String[] args) throws IOException {
// Load an existing PDF from the file system
PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/book.pdf"));
// Add top-level bookmarks to pages of the PDF using their page indices
BookmarkManager bookmarks = pdf.getBookmark();
bookmarks.addBookMarkAtEnd("Author's Note", 2);
bookmarks.addBookMarkAtEnd("Table of Contents", 3);
bookmarks.addBookMarkAtEnd("Summary", 10);
bookmarks.addBookMarkAtEnd("References", 12);
List<Bookmark> bookmarkList = bookmarks.getBookmarks();
Bookmark bookmark = bookmarkList.get(2);
// Add a child bookmark
bookmark.addChildBookmark("Conclusion", 11);
// Save the PDF to the filesystem
pdf.saveAs(Paths.get("assets/bookmarked.pdf"));
}
}Resumen
Este artículo explora varias características de IronPDF, como la capacidad de agregar anotaciones, marcadores, contenido HTML, colores de fondo y de primer plano, y encabezados y pies de página a documentos PDF. El artículo proporciona instrucciones paso a paso para implementar estas características usando IronPDF, facilitando a los desarrolladores crear documentos PDF con apariencia profesional que cumplan con sus necesidades específicas.
Ya sea que estés construyendo una aplicación web o de escritorio, IronPDF puede ayudarte a agilizar el proceso de generación de documentos PDF, ahorrándote tiempo y esfuerzo mientras aseguras que tus documentos se vean bien.
La información de licencias de IronPDF empieza desde $799. IronPDF también ofrece una prueba gratuita, permitiendo a los desarrolladores probar la biblioteca y evaluar sus capacidades antes de tomar una decisión de compra. Durante el período de prueba, los usuarios tienen acceso a todas las características de la biblioteca, incluyendo soporte y actualizaciones. Después del período de prueba, los usuarios pueden elegir comprar una licencia para continuar usando la biblioteca. El precio de IronPDF varía dependiendo del número de desarrolladores que usen la biblioteca y el tipo de licencia.
Preguntas Frecuentes
¿Cómo puedo crear documentos PDF programáticamente en Java?
Puede utilizar IronPDF for Java para crear documentos PDF de manera programática. La biblioteca ofrece una amplia gama de funciones para generar PDFs de alta calidad, incluido el soporte para contenido HTML, encabezados, pies de página y más.
¿Qué métodos están disponibles para agregar contenido HTML a un PDF?
IronPDF permite a los desarrolladores usar el método RenderHtmlAsPdf para agregar contenido HTML directamente en un PDF. Este método admite varios elementos HTML y CSS para el estilo.
¿Puedo incluir firmas digitales en mis documentos PDF?
Sí, IronPDF admite la adición de firmas digitales a documentos PDF, asegurando la autenticidad y seguridad del documento.
¿Cómo puedo proteger mis documentos PDF con contraseñas?
IronPDF proporciona funcionalidad para crear PDFs protegidos con contraseña, permitiéndole asegurar la información sensible dentro de sus documentos.
¿Es posible agregar fondos y primeros planos personalizados a los PDFs?
IronPDF permite a los desarrolladores agregar fondos y primeros planos personalizados a los PDFs, que pueden incluir elementos de marca o gráficos decorativos.
¿Cómo pueden los esquemas y marcadores mejorar la navegación de documentos en los PDFs?
IronPDF permite la adición de esquemas y marcadores, que ayudan a los usuarios a navegar rápidamente a secciones específicas de un PDF y proporcionan una visión general organizada de la estructura del documento.
¿Qué opciones están disponibles para anotar documentos PDF?
Con IronPDF, puede agregar varias anotaciones como notas, comentarios y resaltados, mejorando la interactividad y usabilidad de sus documentos PDF.
¿Cuáles son las opciones de licencia para usar IronPDF en aplicaciones Java?
IronPDF ofrece varias opciones de licencia, incluyendo una prueba gratuita para fines de evaluación. Las licencias varían según el número de desarrolladores y las necesidades específicas de su proyecto.









