USO DE IRONPDF FOR JAVA

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

Actualizado 1 de septiembre, 2024
Compartir:

Biblioteca PDF Java de IronPDF es una potente herramienta para editar y crear documentos PDF dentro de aplicaciones 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 eficazmente su código e implementar sus proyectos en muchas plataformas o entornos compatibles.

El objetivo principal de la mayoría de las bibliotecas PDF de Java es la generación dinámica de archivos PDF. IronPDF sobresale en esta tarea, ofreciendo una variedad de características para satisfacer sus necesidades.

Este artículo profundiza en algunas de las características más importantes de IronPDF, proporcionando ejemplos de código y explicaciones. Al final, usted tendrá una sólida comprensión del uso de IronPDF para editar archivos PDF en Java, perfecto 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 com.ironsoftware.ironpdf.headerfooter.TextHeaderFooter;

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

// Create a Sample Cover Page using RenderHtmlAsPdf
PdfDocument coverPage = PdfDocument.renderHtmlAsPdf("<h1>This is a Cover Page</h1>");
PdfDocument webpage = PdfDocument.renderUrlAsPdf("https://ironpdf.com");

// Set the page number of the PDF document to be created to 2.
HeaderFooterOptions headerFooterOptions = new HeaderFooterOptions();
headerFooterOptions.setFirstPageNumber(1);
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("");
footer.setCenterText("Page {page}");
footer.setRightText("");
webpage.addTextFooter(footer, headerFooterOptions);

// Convert a web page's content to a PDF document.
// Merge the cover page with the web page and save the new PDF to the filesystem.
try {
    PdfDocument.merge(coverPage, webpage).saveAs(Paths.get("assets/cover_page_pdf.pdf"));
} catch (IOException e) {
    throw new RuntimeException(e);
}
JAVA

Más informaciónadjuntar portada en documentos PDF en IronPDF.

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 múltiples documentos PDF existentes en un solo 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 eltamaño personalizado de los PDF en IronPDF.

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. De forma predeterminada, los nuevos PDF creados con IronPDF están configurados en orientación vertical, pero los desarrolladores pueden cambiarlo utilizando unChromePdfRenderOptionsinstancia al convertir 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;

// Get the orientation of the first page of the existing PDF document.  
PageRotation firstPageRotation = existingPdf.getPagesInfo().get(0).getPageRotation();  
System.out.println(firstPageRotation);  

// Rotate the first page of the document only 90 degrees clockwise.  
existingPdf.rotatePage(PageRotation.CLOCKWISE_90, PageSelection.firstPage());  

// Rotate all pages of the document clockwise.  
existingPdf.rotateAllPages(PageRotation.CLOCKWISE_270);  

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

Para más información, visiteestablecer tutorial de orientación PDF en el sitio web de IronPDF.

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 utilizando IronPDF.

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

// Set Margins (in millimeters)  
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 sobreestablecer 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., en 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"));

// Extract all the pages from the PDF file.
List<BufferedImage> extractedImages = pdf.toBufferedImages();

// With the ToImageOptions object, specify maximum image dimensions for each
// extracted image, as well as their DPI
ToImageOptions rasterOptions = new ToImageOptions();
rasterOptions.setImageMaxHeight(100);
rasterOptions.setImageMaxWidth(100);

// Call the toBufferedImage method along with a PageSelection object to choose the pages from which to
// extract the images
//
// Available PageSelection methods include: allPages, lastPage, firstPage, singlePage(int pageIndex),
// and pageRange(int startingPage, int endingPage)
List<BufferedImage> sizedExtractedImages = pdf.toBufferedImages(rasterOptions, PageSelection.allPages());

// Save all the extracted images to a file location
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 ofreceaddBackgroundPdf yaddForegroundPdfmétodos paraañadir un elemento específico de fondo o 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;

// Load background PDFs from the filesystem (or create them programmatically)  
PdfDocument backgroundPdf = PdfDocument.fromFile(Paths.get("assets/MyBackground.pdf"));  

// Render content (HTML, URL, etc) as a PDF Document  
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");  

// Add the background PDFs to the newly-rendered document.  
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://ironpdf.com");  
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 demodificar 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, elMetadataManager puede acceder a los metadatos de un PDF y editarlos. La clase MetadataManager proporciona acceso directo al contenido de metadatos y permite a los desarrolladores leer y editar propiedades de metadatos comunes a través de getters y setters con los mismos nombres.

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.metadata.MetadataManager;
import com.ironsoftware.ironpdf.security.PdfPrintSecurity;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import com.ironsoftware.ironpdf.security.SecurityManager;

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

// Open an encrypted file (or create a new one from HTML)
PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/encrypted.pdf"), "password");

// Edit file metadata
MetadataManager metadata = pdf.getMetadata();
metadata.setAuthor("Satoshi Nakamoto");
metadata.setKeywords("SEO, Friendly");
metadata.setModifiedDate(new Date().toString());

// Edit file security settings
// The code below makes the PDF read-only and disallows users to copy, paste, and print
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setAllowUserCopyPasteContent(false);
securityOptions.setAllowUserAnnotations(false);
securityOptions.setAllowUserPrinting(PdfPrintSecurity.FULL_PRINT_RIGHTS);
securityOptions.setAllowUserFormData(false);
securityOptions.setOwnerPassword("top-secret");
securityOptions.setUserPassword("sharable");

// Change or set the document encryption password
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 su autenticidad, evitando alteraciones sin la validación adecuada del certificado. Esto aumenta la fiabilidad del documento.

Para generar un certificado de firma de forma gratuita, Adobe Reader ofreceinstrucciones en su tutorial de 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 sucomprimirImágenesmétodo en elDocumentoPdf la traducción debe ser profesional, preservando la precisión técnica y explicando las características y ventajas de estas herramientas para desarrolladores. 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"));  

// Valid image compression values range from 1 to 100, where 100 represents 100% of the  
// original image quality.  
pdf.compressImages(60);  
pdf.saveAs(Paths.get("assets/document_compressed.pdf"));  

// The second, optional parameter can scale down the image resolution according to its visible  
// size in the PDF document. Note that this may cause distortion with some image configurations  
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 le permiteañadir encabezados y pies de página HTML personalizados utilizando las funciones ChromePdfRenderOptions yHtmlHeaderFooterclases. También admiteEncabezados y pies de página personalizados a través de laTextHeaderFooter que permite especificar texto para las regiones izquierda, derecha o central del encabezado/pie de página. Plantilla de etiquetas como {fecha}, {tiempo}y{página} puede utilizarse con texto personalizado.

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;
import java.util.ArrayList;
import java.util.List;

PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
// Build a footer using HTML
// Merge Fields are: {page} {total-pages} {url} {date} {time} {html-title} & {pdf-title}
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
// Note the use of BaseUrl to set a relative path to the assets
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);
}
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;
import java.nio.file.Paths;

// Initialize HeaderFooterOptions object.
HeaderFooterOptions options = new HeaderFooterOptions();
PdfDocument pdf = PdfDocument.renderUrlAsPdf("http://www.google.com");

// Add a header to every page easily
// Mergeable fields are:
// {page} {total-pages} {url} {date} {time} {html-title} & {pdf-title}
options.setFirstPageNumber(1); // use 2 if a coverpage  will be appended
TextHeaderFooter textHeader = new TextHeaderFooter();
textHeader.setDrawDividerLine(true);
textHeader.setCenterText("{url}");
textHeader.setFont(FontTypes.getHelvetica());
textHeader.setFontSize(12);
pdf.addTextHeader(textHeader, options);

// Add a footer too
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 elBookmarkManager clase, los desarrolladores pueden crear una estructura jerárquica demarcadores dentro de un PDFademás, debe permitir a los usuarios navegar fácilmente por las diferentes secciones. Para añadir un nuevo marcador, utilice el método add, especificando el título y el número de página del marcador. Los marcadores pueden anidarse 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;

// Load an existing PDF from the file system (or create a new one from HTML)
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);

// Retrieve a reference to the Summary bookmark so that we can add a sublist of bookmarks to it.
List<Bookmark> bookmarkList = bookmarks.getBookmarks();
Bookmark bookmark = bookmarkList.get(2);
bookmark.AddChildBookmark("Conclusion", 11);

// Save the PDF to the filesystem
pdf.saveAs(Paths.get("assets/bookmarked.pdf"));
JAVA

Añadir y editar anotaciones

IronPDF puede añadir"anotaciones estilo "nota adhesiva a páginas específicas de un PDF mediante la funciónGestorDeAnotaciones yAnnotationOptionsclases. Cree anotaciones basadas en texto proporcionando texto y(x,y) coordina con el constructor AnnotationOptions y, a continuación, utiliza la funciónaddTextAnnotationmétodo del AnnotationManager para agregar 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;

// Create a new PDF or load an existing one from the filesystem
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);

// Save the PDF with the modifications
pdf.saveAs(Paths.get("assets/annotated.pdf"));
JAVA

Estampación y marca de agua

IronPDF for Java cuenta con una potente API que ofrece amplias funciones de sellado y marca de agua. Gracias a su interfaz fácil de usar, los desarrolladores pueden añadir rápidamente imágenes y sellos HTML a sus PDF. Tanto si necesita el logotipo de una empresa, un aviso de confidencialidad o un identificador único, IronPDF le cubre todas sus necesidades, permitiéndole añadir sellos a sus PDF con facilidad y profesionalidad.

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"));
// Apply to every page, one page, or some pages
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 una forma sencilla y eficaz de establecer y recuperar valores de campos de texto de formularios en un documento PDF mediante el uso de la tecnologíaFormManager clase. Los desarrolladores pueden llamar alsetFieldValue método para proporcionar el nombre y el valor del campo de texto.

Recupere el valor de un campo de formulario 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 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.*;

// #1 Use Case: Create a PDF Form from HTML Form Markup
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);

// #2 Use Case: Writing Values to the PDF Form
PdfDocument form = PdfDocument.fromFile(outputLocation);

// Set the value of the firstname input field.
form.getForm().setFieldValue("firstname", "Minnie");

// Set the value of the lastname input field.
form.getForm().setFieldValue("lastname", "Mouse");

// Save the changes to the PDF Form.
form.saveAs(Paths.get("assets/BasicForm_Filled.pdf"));
JAVA

Rellenar formularios existentes

import com.ironsoftware.ironpdf.PdfDocument;

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

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

// Set the value of the firstname input field.
form.getForm().setFieldValue("firstname", "Minnie");

// Set the value of the lastname input field.
form.getForm().setFieldValue("lastname", "Mouse");

// Save the changes to the PDF Form.
form.saveAs(Paths.get("assets/BasicForm_Filled.pdf"));
JAVA

Enviar PDF para imprimir

El método de impresión de IronPDF permite a los desarrolladoresintegrar la impresión de PDF en sus aplicaciones. Llamando al[imprimir](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#print()) método, se abrirá el cuadro de diálogo de impresión del sistema operativo, que ofrece a los usuarios opciones para ajustar parámetros 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 métodos sólidos para la extracción de texto e imágenes, lo que permite a los desarrolladores acceder y procesar contenidos PDF. IronPDF también ofrece flexibilidad a la hora de 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. Incluye un método para comprimir PDF, reducir el tamaño de los archivos y mejorar la eficacia de la transmisión.

La biblioteca permite 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 unclave de prueba gratuita permitiendo a los usuarios probar sus características y capacidades antes de realizar una compra. EnLicencia Java de IronPDF comienza en $749, ofreciendo una solución rentable para empresas y particulares que buscan 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.11 acaba de salir

Descarga gratuita de Maven Ver licencias >