Ajouter des arrière-plans PDF en Java
Contents
[
Hide
]
Les artefacts d’arrière-plan vous permettent de placer des éléments visuels hors contenu derrière le contenu de la page principale sans modifier le texte logique du document.
Ajouter une image d’arrière-plan à un PDF
Utilisez cet exemple lorsque la page doit afficher une image comme artefact d’arrière-plan.
- Ouvrez le PDF source Document et le flux d’entrée de l’image.
- Créez un BackgroundArtifact et attribuez le flux d’images.
- Ajoutez l’artefact à la page cible et enregistrez le PDF de sortie.
public static void addBackgroundImageToPdf(Path inputFile, Path imageFile, Path outputFile) throws Exception {
try (Document document = new Document(inputFile.toString());
InputStream imageStream = Files.newInputStream(imageFile)) {
BackgroundArtifact artifact = new BackgroundArtifact();
artifact.setBackgroundImage(imageStream);
document.getPages().get_Item(1).getArtifacts().add(artifact);
document.save(outputFile.toString());
}
}
Ajouter une image de fond avec opacité
Cet exemple place une image d’arrière-plan semi-transparente derrière le contenu de la page.
- Ouvrez le PDF source Document et le flux d’images.
- Créez un BackgroundArtifact, attribuez l’image et définissez l’opacité.
- Ajoutez l’artefact à la page et enregistrez le document.
public static void addBackgroundImageWithOpacityToPdf(Path inputFile, Path imageFile, Path outputFile)
throws Exception {
try (Document document = new Document(inputFile.toString());
InputStream imageStream = Files.newInputStream(imageFile)) {
BackgroundArtifact artifact = new BackgroundArtifact();
artifact.setBackgroundImage(imageStream);
artifact.setOpacity(0.5);
document.getPages().get_Item(1).getArtifacts().add(artifact);
document.save(outputFile.toString());
}
}
Ajouter une couleur d’arrière-plan à un PDF
Utilisez cet exemple lorsque la page doit utiliser une couleur d’arrière-plan unie au lieu d’une image.
- Ouvrez le PDF source Document.
- Créez un BackgroundArtifact et attribuez la couleur d’arrière-plan.
- Ajoutez l’artefact à la page et enregistrez le fichier de sortie.
public static void addBackgroundColorToPdf(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
BackgroundArtifact artifact = new BackgroundArtifact();
artifact.setBackgroundColor(Color.getDarkKhaki().toRgb());
document.getPages().get_Item(1).getArtifacts().add(artifact);
document.save(outputFile.toString());
}
}
Supprimer les artefacts d’arrière-plan
Utilisez cette approche lorsque les artefacts d’arrière-plan existants doivent être supprimés de la page.
- Ouvrez le PDF source Document.
- Parcourez la collection d’artefacts de page dans l’ordre inverse.
- Supprimez les artefacts dont le type est la pagination et le sous-type est l’arrière-plan, puis enregistrez le document.
public static void removeBackground(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
for (int i = document.getPages().get_Item(1).getArtifacts().size(); i >= 1; i--) {
Artifact artifact = document.getPages().get_Item(1).getArtifacts().get_Item(i);
if (artifact.getType() == Artifact.ArtifactType.Pagination
&& artifact.getSubtype() == Artifact.ArtifactSubtype.Background) {
document.getPages().get_Item(1).getArtifacts().delete(artifact);
}
}
document.save(outputFile.toString());
}
}