Modifier un PDF en Java (Tutoriel complet)

This article was translated from English: Does it need improvement?
Translated
View the article in English

Ce tutoriel donne un aperçu de haut niveau de la façon dont les développeurs Java peuvent modifier le contenu et la structure des documents PDF existants à l'aide d'IronPDF. Cela inclut les documents PDF rendus à partir de HTML à l'aide des fonctions de conversion HTML d'IronPDF, ainsi que les PDF produits à l'aide d'autres apps et bibliothèques logicielles tierces

Un tutoriel pourl'édition de documents PDF en C#.NET et VB.NET est également disponible

Ce tutoriel suppose que le lecteur sait déjà comment utiliser IronPDF pourconvertir du contenu HTML en PDF. Envisagez de lire d'abord le tutoriel HTML to PDF avant de poursuivre ce tutoriel si vous n'êtes pas familiarisé avec cette fonctionnalité(ou besoin de rafraîchir le flux de travail de base).


Table des matières

  • Modifier la structure du document

    • Manipulation de documents PDF

    • Ajouter, copier et supprimer des pages

    • Fusionner et diviser des PDF

    • Définir la taille personnalisée des documents PDF

    • Définir l'orientation du PDF
  • Définir des marges personnalisées pour le PDF
  • Convertir des documents PDF en images
  • Ajouter l'arrière-plan et l'avant-plan

    • Ajouter un PDF en arrière-plan
  • Ajouter le PDF en avant-plan
  • Images et extraction de texte

    • Contenu de l'extrait
  • Extraire des images
  • Modifier les propriétés du document

    • Ajouter et utiliser des métadonnées PDF

    • Signatures numériques
  • Compression des PDF
  • Éditer le contenu du PDF

    • Ajouter des en-têtes et des pieds de page

    • Schémas et signets

    • Ajouter et modifier des annotations

    • Estampillage et filigrane

    • Aperçu de Stamper

    • Exemples de tampons

    • Estampiller du texte sur un PDF

    • Apposer une image sur un PDF

    • Apposer un code-barres sur un PDF

    • Apposer un code QR sur un PDF
  • Ajouter un filigrane à un PDF
  • Utilisation de formulaires dans les PDF

    • Créer et modifier des formulaires
  • Remplir les formulaires existants
  • Envoyer un PDF pour impression

Pour commencer

Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer


Il y a deux façons d'incorporer la bibliothèque IronPDF dans un projet Java :

  1. Ajouter IronPDF for Java comme dépendance dans un projet Java configuré par Maven

  2. Téléchargez le fichier JAR IronPDF et ajoutez-le manuellement au chemin de classe du projet.

    Pour installer IronPDF dans un projet Java à l'aide de Maven, incluez les artefacts indiqués ci-dessous dans la section des dépendances du fichier pom.xml du projet Java.

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>com.ironsoftware</artifactId>
   <version>2024.11.4</version>
</dependency>

Les développeurs qui préfèrent gérer le fichier JAR manuellement peuvent">télécharger le fichier JAR de la bibliothèque IronPDF et l'ajouter au chemin de classe de leur projet.

Téléchargez le fichier JAR d'IronPDF directement à partir dele dépôt Maven d'IronPDF.


Contenu du tutoriel

Modifier la structure du document

Manipulation de documents PDF

IronPDF facilite la gestion des PDF grâce à sa capacité à ajouter des PDF à des index spécifiques, à copier des pages en tant que plage ou individuellement, et à supprimer des pages en toute simplicité. Toutes ces tâches sont gérées de manière transparente en arrière-plan.

Ajouter des pages

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

Copier les pages

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

Supprimer des pages

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

Joindre une page de couverture

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);
}
JAVA

En savoir plusjoindre des pages de couverture dans les documents PDF.

Fusionner et diviser des PDF

IronPDF for Java simplifie le processus de fusion de plusieurs PDF en un seul ou de division d'un PDF existant grâce à son API conviviale.

Joignez plusieurs documents PDF existants en un seul document 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

Fractionner un PDF et extraire des pages

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

Définir la taille personnalisée des documents PDF

IronPDF permet aux développeurs de créer des documents PDF de dimensions non standard, au-delà du format A4 classique(8½ par 11 pouces ou 21,59 par 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

En savoir plus sur les astuces de lataille personnalisée des PDF.

Définir l'orientation du PDF

IronPDF for Java permet de modifier l'orientation des pages dans les PDF nouveaux et existants. Par défaut, les nouveaux PDF créés avec IronPDF sont orientés vers le portrait, mais les développeurs peuvent le modifier en utilisant une instance ChromePdfRenderOptions lors de la conversion du contenu(tels que HTML, RTF et 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;

// Use the setPaperOrientation method to set rendered PDFs in portrait or landscape orientation.  
// Note: This will only work for newly-created PDFs!  
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();  
renderOptions.setPaperOrientation(PaperOrientation.LANDSCAPE);  
PdfDocument newPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com", renderOptions);  
newPdf.saveAs(Paths.get("assets/LandscapePdf.pdf"));  

// Use the rotatePage/rotateAllPages methods to adjust the page orientation for existing PDFs  
PdfDocument existingPdf = PdfDocument.fromFile(Paths.get("assets/example.pdf"));  

// 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

Si vous souhaitez obtenir plus d'informations, vous pouvez consulter la section du site web d'IronPDF sur réglage de l'orientation du PDF.

Définir des marges personnalisées pour le PDF

IronPDF crée de nouveaux PDF avec une marge par défaut de 25 mm sur tous les côtés(en haut, en bas, à gauche, à droite). Cependant, les développeurs peuvent personnaliser chaque marge avec des mesures spécifiques pour répondre aux exigences de conception à l'aide d'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

Visitez le site web d'IronPDF pour en savoir plus surdéfinition de marges personnalisées pour les documents PDF.

Convertir des documents PDF en images

IronPDF peut exporter des pages d'un fichier PDF chargé, un contenu source converti ou un PDF modifié avec des en-têtes, des pieds de page, des marges, etc. en images qui peuvent être enregistrées dans un système de fichiers, stockées dans une base de données ou transmises sur des réseaux.

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

Ajouter un arrière-plan et un premier plan

IronPDF propose les méthodes addBackground et addForeground pourajouter un élément d'arrière-plan ou de premier plan spécifique aux PDF. Ces méthodes permettent aux développeurs d'incorporer le contenu d'un PDF à l'arrière-plan ou à l'avant-plan d'un autre PDF, ce qui est efficace pour générer des collections de PDF basées sur un modèle de conception commun.

Ajouter un PDF en arrière-plan

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"));
JAVA

Ajouter le PDF en avant-plan

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

// Load foreground PDFs from the filesystem (or create them programmatically)  
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 foreground PDFs to the newly-rendered document.  
pdf.addForegroundPdf(foregroundPdf);  

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

Extraction d'images et de texte

Les fonctions complètes de création et d'édition de PDF d'IronPDF comprennent la possibilité decontenu de l'extrait granulairement avec ses méthodes d'extraction de contenu.

La méthode extractAllText est disponible pour tous les objets PdfDocument et renvoie une chaîne de caractères contenant tout le texte du document PDF. De plus, extractAllImages renvoie une collection de toutes les images incorporées dans le PDF, chacune sous la forme d'un objet BufferedImage. Pour récupérer les images sous forme d'octets bruts, utilisez la méthode extractAllRawImages.

Contenu de l'extrait

PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://unsplash.com/");
String text = pdf.extractAllText();
System.out.println("Text extracted from the website: " + text);
JAVA

Extraire des images

PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://unsplash.com/");
try {
    List<BufferedImage> images = pdf.extractAllImages();
    System.out.println("Number of images extracted from the website: " + images.size());

    int i = 0;
    for (BufferedImage image : images) {
        ImageIO.write(image, "PNG", Files.newOutputStream(Path.of("assets/extracted_" + ++i + ".png")));
    }
} catch(Exception exception) {
    System.out.println("Failed to extract images from the website");
    exception.printStackTrace();
}
JAVA

Modifier les propriétés du document

Ajouter et utiliser des métadonnées PDF

IronPDF offre la possibilité demodifier les métadonnées du PDF et des fonctions de sécurité, notamment la lecture seule, l'impossibilité d'imprimer, la protection par mot de passe et le cryptage des PDF. Dans IronPDF for Java, le MetadataManager peut être utilisé pour accéder aux métadonnées d'un PDF et les modifier. La classe MetadataManager fournit un accès direct au contenu des métadonnées et permet aux développeurs de lire et de modifier facilement les propriétés communes des métadonnées par le biais de getters et setters portant le même nom.

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

Signatures numériques

IronPDF for Java permet la signature sécurisée de fichiers PDF nouveaux ou existants à l'aide de certificats numériques X509Certificate2 au format .pfx ou .p12. En signant numériquement un PDF, l'authenticité du fichier est garantie et il ne peut être modifié sans une validation adéquate du certificat. Cela renforce la fiabilité du document.

Si vous cherchez un moyen gratuit de générer un certificat de signature, Adobe Reader est là pour vous aider. Il suffit de suivre les instructions décrites dans leTutoriel Adobe Digital ID.

Outre le processus traditionnel de signature numérique, IronPDF for Java offre également la possibilité de signer les PDF à l'aide d'une image de signature manuscrite ou d'un cachet de l'entreprise. Les entreprises peuvent ainsi plus facilement personnaliser leurs documents et ajouter une couche de sécurité supplémentaire.

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

Compression des PDF

IronPDF réduit la taille des fichiers PDF grâce à la méthode compressImages de la classe PdfDocument, ce qui facilite la compression des PDF contenant des images de grande taille. Cette optimisation permet de réaliser des économies significatives en termes d'espace de stockage et de coûts lors de la transmission de fichiers PDF par courrier électronique ou par d'autres canaux de communication.

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

Édition du contenu du PDF

Ajouter des en-têtes et des pieds de page

IronPDF offre la possibilité deajouter des en-têtes et des pieds de page HTML personnalisésen PDF à l'aide des classes ChromePdfRenderOptions et HtmlHeaderFooter. IronPDF permetdes en-têtes et des pieds de page personnalisés à ajouter aux PDF grâce à la classe TextHeaderFooter, qui permet de spécifier un texte pour les régions gauche, droite ou centrale de l'en-tête/pied de page. Cela inclut l'utilisation de balises de modélisation intégrées telles que {date}, {temps}et{page}, ou tout autre texte personnalisé souhaité.

En-tête et pied de page 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");
// 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

Texte de l'en-tête et du pied de page

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 cover page 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

Schémas et signets

Avec le BookmarkManager, les développeurs peuvent créer une structure hiérarchique deles signets dans un PDFpermettant aux utilisateurs de naviguer facilement entre les différentes sections du document. Pour ajouter un nouveau signet, les développeurs peuvent utiliser la méthode add, en spécifiant le titre et le numéro de page du signet. Les signets peuvent également être imbriqués dans d'autres signets pour créer une structure plus organisée.

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

Ajouter et modifier des annotations

IronPDF permet d'ajouter des "notes autocollantes"annotations sur des pages spécifiques d'un PDF à l'aide des classes AnnotationManager et AnnotationOptions. Les développeurs peuvent créer des annotations basées sur le texte en fournissant du texte et des(x,y) comme arguments au constructeur AnnotationOptions, puis utiliser la méthode addTextAnnotation du AnnotationManager pour ajouter l'annotation à la page désirée.

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

Estampillage et filigrane

IronPDF for Java dispose d'une API puissante qui offre des possibilités étendues d'estampillage et de filigrane des PDF. Grâce à son interface conviviale, les développeurs peuvent rapidement ajouter des images et des tampons HTML à leurs PDF en toute simplicité. Que vous ayez besoin d'ajouter un logo d'entreprise, un avis de confidentialité ou un identifiant unique, IronPDF est là pour vous aider. L'API permet d'ajouter facilement des tampons accrocheurs à vos PDF, leur donnant ainsi une touche professionnelle et personnalisée.

Estampiller du texte sur 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

Apposer une image sur 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

Apposer un code-barres sur 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

Apposer un code QR sur 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

Ajouter un filigrane à 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

Utilisation de formulaires dans les PDF

IronPDF Java offre aux développeurs un moyen simple et efficace de définir et d'extraire des valeurs de champs de texte de formulaire dans un document PDF. En utilisant la classe FormManager, les développeurs peuvent simplement appeler la méthode setFieldValue et fournir le nom du champ de texte désiré et la valeur à remplir.

Pour récupérer la valeur d'un champ de formulaire, le développeur peut accéder directement au champ via la collection d'objets FormManager, en utilisant le nom ou l'index correspondant. Ce niveau de contrôle des champs de formulaire permet aux développeurs de travailler facilement avec des formulaires PDF dynamiques et interactifs.

Créer et modifier des formulaires

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 UseCase: 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

Remplir les formulaires existants

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"));
JAVA

Envoyer le PDF pour impression

La méthode d'impression d'IronPDF permet aux développeurs de facilementintégrer l'impression de PDF dans leurs applications. En appelant simplement la méthode d'impression, la boîte de dialogue d'impression du système d'exploitation s'ouvrira, offrant aux utilisateurs la possibilité de régler les paramètres d'impression tels que l'imprimante, la taille du papier et le nombre de copies.

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