Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
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.
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.
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"));
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");
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"));
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.headerfooter.HeaderFooterOptions;
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://www.nuget.org/packages/IronPdf/");
// 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);
}
Más información adjuntar portada en documentos 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.
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"));
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");
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"));
Aquí tiene más trucos sobre el tamaño personalizado de los 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;
// 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"));
Si desea obtener más información, puede visitar el sitio web de IronPDF - Establecer la orientación del 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;
// 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"));
Visite el sitio web de IronPDF para obtener más información sobre establecer márgenes personalizados para documentos PDF.
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"));
// 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));
}
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.
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://www.nuget.org/packages/IronPdf");
// Add the background PDFs to the newly-rendered document.
pdf.addBackgroundPdf(backgroundPdf);
pdf.saveAs(Paths.get("assets/BackgroundPdf.pdf"));
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"));
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;
// 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.setAllowUserCopyPastContent(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"));
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);
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"));
// 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"));
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.
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");
// 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);
}
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;
// 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);
}
Con el BookmarkManager, los desarrolladores pueden crear una estructura jerárquica de marcadores dentro de un PDFque 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;
// 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"));
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;
// 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"));
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.
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);
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));
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);
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);
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);
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.
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"));
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");
// 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"));
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();
}
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.
9 productos API .NET para sus documentos de oficina