USO DE IRONPDF PARA JAVA

Librería Java PDF Editor (Cómo y ejemplo de código)

Actualizado 13 de marzo, 2023
Compartir:

IronPDF es una potente biblioteca PDF de Java para editar y crear documentos PDF en Java. Simplifica una amplia gama de funciones de edición de PDF, como añadir firmas, pies de página HTML, marcas de agua y anotaciones.

Con IronPDF, puede crear fácilmente archivos PDF mediante programación, depurar su código con facilidad e implantar sus proyectos en cualquier plataforma o entorno compatible.

El objetivo principal de la mayoría de las bibliotecas PDF de Java es generar archivos PDF de forma dinámica. Puede realizar esta tarea con IronPDF.

Este artículo explorará algunas de las características más importantes de IronPDF y le proporcionará ejemplos de código y explicaciones. Al final de este artículo, usted tendrá una sólida comprensión de cómo utilizar IronPDF para editar archivos PDF en Java. Es una herramienta perfecta para sus necesidades de edición de PDF.

Editar la estructura del documento

Manipulación de documentos PDF

IronPDF facilita la gestión de archivos PDF gracias a su capacidad para añadir archivos PDF a índices específicos, copiar páginas como un rango o individualmente y eliminar páginas con facilidad. Todas estas tareas se gestionan perfectamente en segundo plano.

Añadir páginas

import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.PdfDocument;

PdfDocument PDF = PdfDocument.fromFile(Paths.get("assets/sample.pdf"));
PdfDocument coverPagePdf = PdfDocument.renderHtmlAsPdf("<h1>Cover Page</h1><hr>");
PDF.prependPdf(coverPagePdf);
PDF.saveAs(Paths.get("report_with_cover.pdf"));
JAVA

Páginas de copia

import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.PdfDocument;

PdfDocument PDF = PdfDocument.fromFile(Paths.get("assets/sample.pdf"));
PDF.copyPages(0,1).saveAs("report_highlight.pdf");
JAVA

Borrar páginas

import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.PdfDocument;

PdfDocument PDF = PdfDocument.fromFile(Paths.get("assets/sample.pdf"));
PDF.removePages(PageSelection.lastPage()).saveAs(Paths.get("assets/lastPageRemove.pdf"));
JAVA

Adjuntar una portada

import com.ironsoftware.ironpdf.PdfDocument;  
import com.ironsoftware.ironpdf.headerfooter.HeaderFooterOptions;
import java.io.IOException;  
import java.nio.file.Paths;

//  Crear una portada de ejemplo con RenderHtmlAsPdf
PdfDocument coverPage = PdfDocument.renderHtmlAsPdf("<h1>This is a Cover Page</h1>");
PdfDocument webpage = PdfDocument.renderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");

//  Establezca el número de página del documento PDF que se va a crear en 2.
HeaderFooterOptions headerFooterOptions = new HeaderFooterOptions();
headerFooterOptions.setFirstPageNumber(1);
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("");
footer.setCenterText("Page {page}");
footer.setRightText("");
webpage.addTextFooter(footer, headerFooterOptions);

//  Convierte el contenido de una página web en un documento PDF.
//  Fusione la portada con la página web y guarde el nuevo PDF en el sistema de archivos.
try {
    PdfDocument.merge(coverPage, webpage).saveAs(Paths.get("assets/cover_page_pdf.pdf"));
} catch (IOException e) {
    throw new RuntimeException(e);
}
JAVA

Más información adjuntar portada en documentos PDF.

Fusionar y dividir PDF

IronPDF Java simplifica el proceso de fusión de varios PDF en uno o de división de un PDF existente mediante su sencilla API.

Unir varios documentos pdf existentes en un único documento PDF

import com.ironsoftware.ironpdf.PdfDocument;  
import java.io.IOException;  
import java.nio.file.Paths;

String htmlA = "<p> [PDF_A] </p>"
        + "<p> [PDF_A] 1st Page </p>"
        + "<div style = 'page-break-after: always;' ></div>"
        + "<p> [PDF_A] 2nd Page</p>";
String htmlB = "<p> [PDF_B] </p>"
        + "<p> [PDF_B] 1st Page </p>"
        + "<div style = 'page-break-after: always;' ></div>"
        + "<p> [PDF_B] 2nd Page</p>";

PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
PdfDocument merged = PdfDocument.merge(pdfA, pdfB);

merged.saveAs(Paths.get("assets/merged.pdf"));
JAVA

Dividir un PDF y extraer páginas

import com.ironsoftware.ironpdf.PdfDocument;  
import java.io.IOException;  
import java.nio.file.Paths;
PdfDocument PDF = PdfDocument.fromFile(Paths.get("assets/sample.pdf"));
PdfDocument copied = PDF.copyPage(0);
copied.saveAs("assets/Split.pdf");
JAVA

Establecer el tamaño personalizado de los documentos PDF

IronPDF permite a los desarrolladores crear documentos PDF con dimensiones no estándar, más allá del tamaño A4 convencional (8½ por 11 pulgadas o 21,59 por 27,94 cm).

import com.ironsoftware.ironpdf.*;  
import com.ironsoftware.ironpdf.render.*;  
import java.io.IOException;  
import java.nio.file.Paths;

String html = "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>";  

ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();  
renderOptions.setPaperSize(PaperSize.Custom);  

/*  
 * Setting page sizes using different measuring units: * 1. setCustomPaperWidth( width ) / setCustomPaperHeight( height ): for inches * 2. setCustomPaperSizeInCentimeters( width, height ): for centimeters. * 3. setCustomPaperSizeInMillimeters( width, height ): for millimeters * 4. setCustomPaperSizeInPixelsOrPoints( width, height ): for pixels/points */renderOptions.setCustomPaperSizeInCentimeters(13.97, 13.97);  

PdfDocument.renderHtmlAsPdf(html, renderOptions).saveAs(Paths.get("assets/CustomPaperSize.pdf"));
JAVA

Aquí tiene más trucos sobre el tamaño personalizado de los PDF.

Establecer la orientación del PDF

IronPDF for Java permite modificar la orientación de las páginas tanto en los PDF nuevos como en los ya existentes. Por defecto, los nuevos PDF creados con IronPDF tienen orientación vertical, pero los desarrolladores pueden cambiarla utilizando una instancia de ChromePdfRenderOptions al convertir el contenido. (como HTML, RTF y URL) en PDF.

import com.ironsoftware.ironpdf.PdfDocument;  
import com.ironsoftware.ironpdf.edit.PageSelection;  
import com.ironsoftware.ironpdf.page.PageRotation;  
import com.ironsoftware.ironpdf.render.*;  
import java.io.IOException;  
import java.nio.file.Paths;

//  Obtener la orientación de la primera página del documento PDF existente.    
PageRotation firstPageRotation = existingPdf.getPagesInfo().get(0).getPageRotation();  
System.out.println(firstPageRotation);  

//  Gire la primera página del documento sólo 90 grados en el sentido de las agujas del reloj.    
existingPdf.rotatePage(PageRotation.CLOCKWISE_90, PageSelection.firstPage());  

//  Gire todas las páginas del documento en el sentido de las agujas del reloj.    
existingPdf.rotateAllPages(PageRotation.CLOCKWISE_270);  

existingPdf.saveAs(Paths.get("assets/ExistingPdfRotated.pdf"));
JAVA

Si desea obtener más información, puede visitar el sitio web de IronPDF - Establecer la orientación del PDF.

Establecer márgenes personalizados de PDF

IronPDF crea nuevos PDF con un margen predeterminado de 25 mm en todos los lados. (arriba, abajo, izquierda, derecha). Sin embargo, los desarrolladores pueden personalizar cada margen con medidas específicas para cumplir los requisitos de diseño mediante IronPDF.

import com.ironsoftware.ironpdf.PdfDocument;  
import com.ironsoftware.ironpdf.render.ChromePdfRenderOptions;  
import java.io.IOException;  
import java.nio.file.Paths;

//  Establecer márgenes (en milímetros)  
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();  
renderOptions.setMarginTop(40);  
renderOptions.setMarginLeft(20);  
renderOptions.setMarginRight(20);  
renderOptions.setMarginBottom(40);  

PdfDocument.renderHtmlFileAsPdf("assets/wikipedia.html", renderOptions).saveAs(Paths.get("assets/MyContent.pdf"));
JAVA

Visite el sitio web de IronPDF para obtener más información sobre establecer márgenes personalizados para documentos PDF.

Convertir documentos PDF en imágenes

IronPDF puede exportar páginas de un archivo PDF cargado, contenido fuente convertido o un PDF modificado con encabezados, pies de página, márgenes, etc. a imágenes que pueden guardarse en un sistema de archivos, almacenarse en una base de datos o transmitirse a través de redes.

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.edit.PageSelection;
import com.ironsoftware.ironpdf.image.ToImageOptions;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.List;

PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/composite.pdf"));

//  Extraiga todas las páginas del archivo PDF.
List<BufferedImage> extractedImages = pdf.toBufferedImages();

//  Con el objeto ToImageOptions, especifique las dimensiones máximas de la imagen para cada
//  imagen extraída, así como su DPI
ToImageOptions rasterOptions = new ToImageOptions();
rasterOptions.setImageMaxHeight(100);
rasterOptions.setImageMaxWidth(100);

//  Llame al método toBufferedImage junto con un objeto PageSelection para elegir las páginas de las que
//  extraer las imágenes
//
//  Los métodos PageSelection disponibles son: allPages, lastPage, firstPage, singlePage(int pageIndex),
//  y pageRange(int startingPage, int endingPage)
List<BufferedImage> sizedExtractedImages = pdf.toBufferedImages(rasterOptions, PageSelection.allPages());

//  Guardar todas las imágenes extraídas en un archivo
int i = 1;
for (BufferedImage extractedImage : sizedExtractedImages) {
    String fileName = "assets/images/" + i++ + ".png";
    ImageIO.write(extractedImage, "PNG", new File(fileName));
}
JAVA

Añadir fondo y primer plano

IronPDF proporciona los métodos addBackground y addForeground para añadir un fondo específico o elementos en primer plano a los PDF. Estos métodos permiten a los desarrolladores incorporar contenido de un PDF como fondo o primer plano de otro PDF, lo que resulta eficaz para generar colecciones de PDF basadas en una plantilla de diseño común.

Añadir PDF como fondo

import com.ironsoftware.ironpdf.*;  
import java.io.IOException;  
import java.nio.file.Paths;

//  Cargar PDF de fondo desde el sistema de archivos (o crearlos mediante programación)  
PdfDocument backgroundPdf = PdfDocument.fromFile(Paths.get("assets/MyBackground.pdf"));  

//  Convertir contenido (HTML, URL, etc.) en un documento PDF  
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://www.nuget.org/packages/IronPdf");  

//  Añada los PDF de fondo al documento recién renderizado.    
pdf.addBackgroundPdf(backgroundPdf);  

pdf.saveAs(Paths.get("assets/BackgroundPdf.pdf"));
JAVA

Añadir PDF como primer plano

import com.ironsoftware.ironpdf.*;  
import java.io.IOException;  
import java.nio.file.Paths;

PdfDocument foregroundPdf = PdfDocument.fromFile(Paths.get("assets/MyForeground.pdf"));  
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://www.nuget.org/packages/IronPdf");  
pdf.addForegroundPdf(foregroundPdf);  

pdf.saveAs(Paths.get("assets/BackgroundForegroundPdf.pdf"));
JAVA

Editar las propiedades del documento

Añadir y utilizar metadatos PDF

IronPDF ofrece la posibilidad de modificar metadatos PDF y funciones de seguridad, como hacer que los PDF sean de sólo lectura, no imprimibles, protegidos con contraseña y encriptados. En IronPDF for Java, el MetadataManager se puede utilizar para acceder y editar los metadatos de un PDF. La clase MetadataManager proporciona acceso directo al contenido de metadatos y permite a los desarrolladores leer y editar fácilmente propiedades de metadatos comunes a través de getters y setters con los mismos nombres.

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.security.PdfPrintSecurity;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.Date;

//  Abrir un archivo cifrado (o crear uno nuevo a partir de HTML)
PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/encrypted.pdf"), "password");

//  Editar metadatos de archivos
MetadataManager metadata = pdf.getMetadata();
metadata.setAuthor("Satoshi Nakamoto");
metadata.setKeywords("SEO, Friendly");
metadata.setModifiedDate(new Date().toString());

//  Editar la configuración de seguridad de los archivos
//  El siguiente código hace que el PDF sea de sólo lectura y no permite a los usuarios copiar, pegar e imprimir
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setAllowUserCopyPastContent(false);
securityOptions.setAllowUserAnnotations(false);
securityOptions.setAllowUserPrinting(PdfPrintSecurity.FULL_PRINT_RIGHTS);
securityOptions.setAllowUserFormData(false);
securityOptions.setOwnerPassword("top-secret");
securityOptions.setUserPassword("sharable");

//  Cambiar o establecer la contraseña de encriptación del documento
SecurityManager securityManager = pdf.getSecurity();
securityManager.removePasswordsAndEncryption();
securityManager.makePdfDocumentReadOnly("secret-key");

securityManager.setSecurityOptions(securityOptions);
pdf.saveAs(Paths.get("assets/secured.pdf"));
JAVA

Firmas digitales

IronPDF for Java permite la firma segura de archivos PDF nuevos o existentes utilizando certificados digitales X509Certificate2 en formato .pfx o .p12. Al firmar digitalmente un PDF, se garantiza la autenticidad del archivo, que no podrá alterarse sin la debida validación del certificado. Esto aumenta la fiabilidad del documento.

Si busca una forma gratuita de generar un certificado de firma, Adobe Reader es la solución. Sólo tiene que seguir las instrucciones Tutorial de Adobe Digital ID.

import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.Signature;
import com.ironsoftware.ironpdf.signature.SignatureManager;
PdfDocument PDF = PdfDocument.fromFile(Paths.get("assets/sample.pdf"));

File path = new File("assets/Ironpdf.pfx");
byte [] certificate = new byte [(int)path.length()];

Signature signature = new Signature(certificate,"1234");

SignatureManager manager = PDF.getSignature();

manager.SignPdfWithSignature(signature);
JAVA

Comprimir PDF

IronPDF reduce el tamaño de los archivos PDF con su método compressImages de la clase PdfDocument, lo que facilita la compresión de PDF que incluyen imágenes de gran tamaño. Esta optimización permite ahorrar mucho espacio de almacenamiento y costes al transmitir archivos PDF por correo electrónico y otros canales de comunicación.

import com.ironsoftware.ironpdf.*;
import java.io.IOException;  
import java.nio.file.Paths;

PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/document.pdf"));  

//  Los valores de compresión de imagen válidos van de 1 a 100, donde 100 representa el 100% de la imagen.  
//  calidad de imagen original.    
pdf.compressImages(60);  
pdf.saveAs(Paths.get("assets/document_compressed.pdf"));  

//  El segundo parámetro, opcional, puede reducir la resolución de la imagen en función de su visibilidad.  
//  en el documento PDF. Tenga en cuenta que esto puede causar distorsión con algunas configuraciones de imagen  
pdf.compressImages(90, true);  
pdf.saveAs(Paths.get("assets/document_scaled_compressed.pdf"));
JAVA

Editar contenido PDF

Añadir encabezados y pies de página

IronPDF ofrece la posibilidad de añadir encabezados y pies de página HTML personalizados a PDF utilizando las clases ChromeRenderOptions y HtmlHeaderFooter. IronPDF permite Encabezados y pies de página personalizados a los PDF mediante la clase TextHeaderFooter, que permite especificar texto para las regiones izquierda, derecha o central del encabezado/pie de página. Esto incluye el uso de etiquetas de plantillas integradas como .{fecha}, {tiempo}y {página}, o cualquier otro texto personalizado que se desee.

Encabezado y pie de página HTML

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.headerfooter.HtmlHeaderFooter;
import java.io.IOException;
import java.nio.file.Paths;

PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
//  Crear un pie de página con HTML
//  Los campos de fusión son: {página} {total-páginas} {url} {fecha} {hora} {html-title} & {pdf-title}
HtmlHeaderFooter footer = new HtmlHeaderFooter();
footer.setMaxHeight(15); //  milímetros
footer.setHtmlFragment("<center><i>{page} of {total-pages}</i></center>");
footer.setDrawDividerLine(true);
pdf.addHtmlFooter(footer);
List<PdfDocument> pdfs = new ArrayList<>();

//  Construir una cabecera utilizando un activo de imagen
//  Observe el uso de BaseUrl para establecer una ruta relativa a los activos
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setMaxHeight(20); //  milímetros
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);
}
JAVA

Encabezado y pie de página de texto

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.font.FontTypes;
import com.ironsoftware.ironpdf.headerfooter.TextHeaderFooter;
import com.ironsoftware.ironpdf.headerfooter.HeaderFooterOptions;
import java.io.IOException;

//  Inicializa el objeto HeaderFooterOptions.
HeaderFooterOptions options = new HeaderFooterOptions();
PdfDocument pdf = PdfDocument.renderUrlAsPdf("http://www.google.com");

//  Añada fácilmente un encabezado a cada página
//  Los campos fusionables son:
//  {página} {total-páginas} {url} {fecha} {time} {html-title} & {pdf-title}
options.setFirstPageNumber(1); //  utilice 2 si se va a adjuntar una portada
TextHeaderFooter textHeader = new TextHeaderFooter();
textHeader.setDrawDividerLine(true);
textHeader.setCenterText("{url}");
textHeader.setFont(FontTypes.getHelvetica());
textHeader.setFontSize(12);
pdf.addTextHeader(textHeader, options);

//  Añade también un pie de página
TextHeaderFooter textFooter = new TextHeaderFooter();
textFooter.setDrawDividerLine(true);
textFooter.setFont(FontTypes.getArial());
textFooter.setFontSize(10);
textFooter.setLeftText("{date} {time}");
textFooter.setRightText("{page} of {total-pages}");
pdf.addTextFooter(textFooter, options);

try {
    pdf.saveAs(Paths.get("assets/text_headers_footers.pdf"));
} catch (IOException e) {
    System.out.println("Failed to save PDF");
    throw new RuntimeException(e);
}
JAVA

Marcadores

Con el BookmarkManager, los desarrolladores pueden crear una estructura jerárquica de marcadores dentro de un PDF que permite a los usuarios navegar fácilmente por las distintas secciones del documento. Para añadir un nuevo marcador, los desarrolladores pueden utilizar el método add, especificando el título y el número de página del marcador. Los marcadores también pueden anidarse dentro de otros marcadores para crear una estructura más organizada.

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;

//  Cargar un PDF existente desde el sistema de archivos (o crear uno nuevo a partir de HTML)
PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/book.pdf"));

//  Añadir marcadores de nivel superior a las páginas del PDF utilizando sus índices de página
BookmarkManager bookmarks = pdf.getBookmark();
bookmarks.addBookMarkAtEnd("Author's Note", 2);
bookmarks.addBookMarkAtEnd("Table of Contents", 3);
bookmarks.addBookMarkAtEnd("Summary", 10);
bookmarks.addBookMarkAtEnd("References", 12);

//  Recupera una referencia al marcador Resumen para que podamos añadirle una sublista de marcadores.
List<Bookmark> bookmarkList = bookmarks.getBookmarks();
Bookmark bookmark = bookmarkList.get(2);
bookmark.AddChildBookmark("Conclusion", 11);

//  Guardar el PDF en el sistema de archivos
pdf.saveAs(Paths.get("assets/bookmarked.pdf"));
JAVA

Añadir y editar anotaciones

IronPDF puede añadir anotaciones tipo "nota adhesiva" en páginas concretas de un PDF mediante las clases AnnotationManager y AnnotationOptions. Los desarrolladores pueden crear anotaciones basadas en texto proporcionando texto y (x,y) como argumentos para el constructor AnnotationOptions, luego utilice el método addTextAnnotation del AnnotationManager para añadir la anotación a la página deseada.

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;

//  Crear un nuevo PDF o cargar uno existente desde el sistema de archivos
PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/example.pdf"));

//  Cree una anotación para colocarla en un lugar específico de una página.
AnnotationOptions annotation = new AnnotationOptions(
        "This is a major title",                            //  Título de la anotación
        "This is the long 'sticky note' comment content...",    //  Contenido de la anotación
        150,                                                    //  ubicación de las coordenadas del eje x
        250                                                     //  ubicación de las coordenadas del eje y
);
annotation.setIcon(AnnotationIcon.HELP);
annotation.setOpacity(0.9);
annotation.setPrintable(false);
annotation.setHidden(false);
annotation.setOpen(true);
annotation.setReadonly(true);
annotation.setRotateable(true);

//  Añadir la anotación a una página específica del PDF
AnnotationManager annotationManager = pdf.getAnnotation();
annotationManager.addTextAnnotation(annotation, 0);

//  Guardar el PDF con las modificaciones
pdf.saveAs(Paths.get("assets/annotated.pdf"));
JAVA

Estampación y marca de agua

IronPDF for Java tiene una potente API que proporciona amplias capacidades para estampar y marcar con agua los PDF. Con su interfaz fácil de usar, los desarrolladores pueden añadir rápidamente imágenes y sellos HTML a sus PDF con facilidad. Tanto si necesita añadir un logotipo de empresa, un aviso de confidencialidad o un identificador único, IronPDF le ofrece todo lo que necesita. La API facilita la adición de sellos llamativos a sus PDF, dándoles un toque profesional y personalizado.

Estampar texto en un PDF

import java.io.IOException;
import java.nio.file.Paths;

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.stamp.TextStamper;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;
PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/sample.pdf"));
TextStamper stamper1 = new TextStamper();
stamper1.setText("Hello World! Stamp One Here!");
stamper1.setFontFamily("Bungee Spice");
stamper1.setUseGoogleFont(true);

stamper1.setFontSize(100);
stamper1.setBold(true);
stamper1.setItalic(false);
stamper1.setVerticalAlignment(VerticalAlignment.TOP);

pdf.applyStamp(stamper1);
JAVA

Estampar una imagen en un PDF

import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.edit.PageSelection;
import com.ironsoftware.ironpdf.stamp.ImageStamper;

PdfDocument PDF = PdfDocument.fromFile(Paths.get("assets/sample.pdf"));
ImageStamper imageStamper = new ImageStamper(Paths.get("assets/logo.png"));
//  Aplicar a todas las páginas, a una página o a algunas páginas
PDF.applyStamp(imageStamper);
PDF.applyStamp(imageStamper, PageSelection.singlePage(2));
PDF.applyStamp(imageStamper, PageSelection.pageRange(0, 2));
JAVA

Estampar un código de barras en un PDF

import java.io.IOException;
import java.nio.file.Paths;

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.stamp.BarcodeEncoding;
import com.ironsoftware.ironpdf.stamp.BarcodeStamper;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;
PdfDocument PDF = PdfDocument.fromFile(Paths.get("assets/sample.pdf"));
BarcodeStamper barcodeStamp = new BarcodeStamper("IronPDF", BarcodeEncoding.Code39);

barcodeStamp.setHorizontalAlignment(HorizontalAlignment.LEFT);
barcodeStamp.setVerticalAlignment(VerticalAlignment.BOTTOM);

PDF.applyStamp(barcodeStamp);
JAVA

Estampar un código QR en un PDF

import java.io.IOException;
import java.nio.file.Paths;

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.stamp.BarcodeEncoding;
import com.ironsoftware.ironpdf.stamp.BarcodeStamper;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;
PdfDocument PDF = PdfDocument.fromFile(Paths.get("assets/sample.pdf"));
BarcodeStamper QRStamp = new BarcodeStamper("IronPDF", BarcodeEncoding.QRCode);
QRStamp.setHeight(50);
QRStamp.setWidth(50);
QRStamp.setHorizontalAlignment(HorizontalAlignment.LEFT);
QRStamp.setVerticalAlignment(VerticalAlignment.BOTTOM);
PDF.applyStamp(QRStamp);
JAVA

Añadir una marca de agua a un PDF

import java.io.IOException;
import java.nio.file.Paths;

import com.ironsoftware.ironpdf.PdfDocument;

PdfDocument PDF = PdfDocument.fromFile(Paths.get("assets/sample.pdf"));
String html = "<h1> Example Title <h1/>";
int watermarkOpacity = 30;
PDF.applyWatermark(html, watermarkOpacity);
JAVA

Uso de formularios en PDF

IronPDF Java proporciona a los desarrolladores una forma sencilla y eficaz de establecer y recuperar valores de campos de texto de formularios en un documento PDF. Usando la clase FormManager, los desarrolladores pueden simplemente llamar al método setFieldValue y proporcionar el nombre del campo de texto deseado y el valor a rellenar.

Para recuperar el valor de un campo de formulario, el desarrollador puede acceder al campo directamente a través de la colección de objetos FormField del FormManager, utilizando el nombre o índice correspondiente. Este nivel de control sobre los campos del formulario facilita a los desarrolladores el trabajo con formularios PDF dinámicos e interactivos.

Crear y editar formularios

import com.ironsoftware.ironpdf.PdfDocument;  
import com.ironsoftware.ironpdf.render.ChromePdfRenderOptions;  
import java.io.IOException;  
import java.nio.file.*;

//  #Caso de uso nº 1: Crear un formulario PDF a partir de un formulario HTML  
Path outputLocation = Paths.get("assets/BasicForm.pdf");  
String formHTML = "<html>"  
  + "<body>"  
  + "<h2>Editable PDF  Form</h2>"  
  + "<form>"  
  + "First name: <br> <input type='text' name='firstname' value=''> <br>"  
  + "Last name: <br> <input type='text' name='lastname' value=''>"  
  + "</form>"  
  + "</body>"  
  + "</html>";  

ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();  
renderOptions.setCreatePdfFormsFromHtml(true);  
PdfDocument.renderHtmlAsPdf(formHTML, renderOptions).saveAs(outputLocation);  

//  #Caso de uso nº 2: Escribir valores en el formulario PDF  
PdfDocument form = PdfDocument.fromFile(outputLocation);  

//  Establece el valor del campo de entrada firstname.    
form.getForm().setFieldValue("firstname", "Minnie");  

//  Establece el valor del campo de entrada apellido.    
form.getForm().setFieldValue("lastname", "Mouse");  

//  Guarde los cambios en el formulario PDF.    
form.saveAs(Paths.get("assets/BasicForm_Filled.pdf"));
JAVA

Rellenar formularios existentes

import com.ironsoftware.ironpdf.PdfDocument;  
import com.ironsoftware.ironpdf.render.ChromePdfRenderOptions;  
import java.io.IOException;  
import java.nio.file.*;

PdfDocument form = PdfDocument.fromFile("assets/pdfform.pdf");  

//  Establece el valor del campo de entrada firstname.    
form.getForm().setFieldValue("firstname", "Minnie");  

//  Establece el valor del campo de entrada apellido.    
form.getForm().setFieldValue("lastname", "Mouse");  

//  Guarde los cambios en el formulario PDF.    
form.saveAs(Paths.get("assets/BasicForm_Filled.pdf"));
JAVA

Enviar PDF para imprimir

El método de impresión de IronPDF permite a los desarrolladores integrar la impresión de PDF en sus aplicaciones. Simplemente llamando al método de impresión, se abrirá el diálogo de impresión del sistema operativo, proporcionando a los usuarios la opción de ajustar la configuración de impresión, como la impresora, el tamaño del papel y el número de copias.

import com.ironsoftware.ironpdf.PdfDocument;
import java.awt.print.PrinterException;

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Created with IronPDF!</h1>");
try {
    pdf.print();
} catch(PrinterException exception) {
    System.out.println("Failed to print PDF");
    exception.printStackTrace();
}
JAVA

Conclusión

IronPDF es una completa biblioteca PDF para Java que ofrece una amplia gama de funciones para crear, editar y manipular documentos PDF. Dispone de sólidos métodos de extracción de texto e imágenes, lo que permite a los desarrolladores acceder al contenido de los PDF y procesarlo. IronPDF también ofrece flexibilidad para personalizar los metadatos PDF y la configuración de seguridad, como hacer que un PDF sea de sólo lectura o esté protegido por contraseña. Además, proporciona un método para comprimir PDF, reducir el tamaño de los archivos y aumentar la eficacia de su transmisión.

La biblioteca incluye la posibilidad de añadir encabezados y pies de página personalizados, así como anotaciones, a un documento PDF. La función de marcadores permite a los desarrolladores añadir marcadores para facilitar la navegación dentro de un PDF.

IronPDF ofrece un clave de prueba gratuita para que los usuarios puedan probar sus funciones y capacidades antes de realizar una compra. En Licencia Java de IronPDF a partir de $749, ofrece una solución rentable para empresas y particulares que deseen proteger y gestionar sus archivos PDF.

< ANTERIOR
Cómo combinar dos archivos PDF con Java
SIGUIENTE >
Generador de PDF de Java (Tutorial de ejemplo de código)

¿Listo para empezar? Versión: 2024.3 recién publicada

Descarga gratuita de Maven Ver licencias >