Classe Stamp
La classe Java StampExamples présente les principaux flux de travail de création de tampons disponibles via l’API Facades.
Ajouter un tampon d’image
Utilisez ce flux de travail lorsqu’un fichier image doit être placé sur le PDF comme tampon.
Étapes
-
Créez une instance
PdfFileStampet liez le PDF source. -
Créez un objet
Stampet liez-le au fichier image. -
Définissez l’identifiant du tampon et l’origine du placement.
-
Ajoutez le tampon au document.
-
Enregistrez le résultat et fermez l’objet de façade.
Exemple Java
public static void addImageStamp(Path inputFile, Path imageFile, Path outputFile) {
PdfFileStamp pdfStamper = new PdfFileStamp();
try {
pdfStamper.bindPdf(inputFile.toString());
Stamp stamp = new Stamp();
stamp.bindImage(imageFile.toString());
stamp.setStampId(1);
stamp.setOrigin(36, 520);
pdfStamper.addStamp(stamp);
pdfStamper.save(outputFile.toString());
} finally {
pdfStamper.close();
}
}
Ajouter une page PDF comme tampon
Utilisez ce flux de travail lorsque le contenu d’une autre page PDF doit être réutilisé comme contenu de tampon.
Étapes
-
Créez une instance
PdfFileStampet liez le PDF cible. -
Créez un objet
Stamp. -
Liez le tampon à une page spécifique d’un autre fichier PDF.
-
Définissez le numéro de page cible et l’origine du placement.
-
Ajoutez le tampon, enregistrez la sortie et fermez l’objet de façade.
Exemple Java
public static void addPdfPageAsStamp(Path inputFile, Path stampPdf, Path outputFile) {
PdfFileStamp pdfStamper = new PdfFileStamp();
try {
pdfStamper.bindPdf(inputFile.toString());
Stamp stamp = new Stamp();
stamp.bindPdf(stampPdf.toString(), 1);
stamp.setPageNumber(1);
stamp.setOrigin(36, 250);
pdfStamper.addStamp(stamp);
pdfStamper.save(outputFile.toString());
} finally {
pdfStamper.close();
}
}
Ajouter un tampon de texte avec TextState
Utilisez ce flux de travail lorsque le tampon doit contenir du texte mis en forme plutôt qu’une image.
Étapes
-
Créez une instance
PdfFileStampet liez le PDF source. -
Créez un objet
Stamp. -
Liez un objet
FormattedTextet unTextStatepersonnalisé au tampon. -
Définissez l’origine et la rotation du tampon.
-
Ajoutez le tampon, enregistrez la sortie et fermez l’objet de façade.
Exemple Java
public static void addTextStampWithTextState(Path inputFile, Path outputFile) {
PdfFileStamp pdfStamper = new PdfFileStamp();
try {
pdfStamper.bindPdf(inputFile.toString());
Stamp stamp = new Stamp();
stamp.bindLogo(createTextLogo("Approved by signing workflow"));
stamp.bindTextState(createTextState());
stamp.setOrigin(36, 700);
stamp.setRotation(15.0f);
pdfStamper.addStamp(stamp);
pdfStamper.save(outputFile.toString());
} finally {
pdfStamper.close();
}
}
Ajouter un tampon à des pages spécifiques
Utilisez ce flux de travail lorsque le tampon doit apparaître uniquement sur les pages sélectionnées au lieu de l’ensemble du document.
Étapes
-
Créez une instance
PdfFileStampet liez le PDF source. -
Créez un objet
Stampet liez-le à un fichier image. -
Définissez la liste des pages cibles, l’origine et la taille de l’image.
-
Ajoutez le tampon au document.
-
Enregistrez le résultat et fermez l’objet de façade.
Exemple Java
public static void addStampToSpecificPages(Path inputFile, Path imageFile, Path outputFile) {
PdfFileStamp pdfStamper = new PdfFileStamp();
try {
pdfStamper.bindPdf(inputFile.toString());
Stamp stamp = new Stamp();
stamp.bindImage(imageFile.toString());
stamp.setPages(new int[] {1});
stamp.setOrigin(400, 40);
stamp.setImageSize(120, 60);
pdfStamper.addStamp(stamp);
pdfStamper.save(outputFile.toString());
} finally {
pdfStamper.close();
}
}
Ajouter un tampon d’image d’arrière-plan
Utilisez ce flux de travail lorsque le tampon doit apparaître derrière le contenu de la page avec une opacité et une rotation contrôlées.
Étapes
-
Créez une instance
PdfFileStampet liez le PDF source. -
Créez un objet
Stampet liez-le au fichier image. -
Marquez le tampon comme contenu d’arrière-plan.
-
Configurez l’opacité, la qualité, la rotation, la taille et l’origine.
-
Ajoutez le tampon, enregistrez la sortie et fermez l’objet de façade.
Exemple Java
public static void addBackgroundImageStamp(Path inputFile, Path imageFile, Path outputFile) {
PdfFileStamp pdfStamper = new PdfFileStamp();
try {
pdfStamper.bindPdf(inputFile.toString());
Stamp stamp = new Stamp();
stamp.bindImage(imageFile.toString());
stamp.setBackground(true);
stamp.setOpacity(0.35f);
stamp.setQuality(90);
stamp.setRotation(45.0f);
stamp.setImageSize(160, 80);
stamp.setOrigin(200, 300);
pdfStamper.addStamp(stamp);
pdfStamper.save(outputFile.toString());
} finally {
pdfStamper.close();
}
}