Ajouter un filigrane au PDF
Aspose.PDF pour PHP via Java permet d’ajouter des filigranes à votre document PDF en utilisant des artefacts. Veuillez consulter cet article pour résoudre votre tâche.
Un filigrane créé avec Adobe Acrobat est appelé un artefact (comme décrit dans le 14.8.2.2 Contenu réel et artefacts de la spécification PDF). Pour travailler avec des artefacts, Aspose.PDF dispose de deux classes : Artifact et ArtifactCollection.
Pour obtenir tous les artefacts sur une page particulière, la classe Page a la propriété Artifacts.
Travailler avec les Artéfacts
La classe Artifact contient les propriétés suivantes :
Artifact.Type – obtient le type d’artéfact (prend en charge les valeurs de l’énumération Artifact.ArtifactType où les valeurs incluent Background, Layout, Page, Pagination et Undefined).
Artifact.Subtype – obtient le sous-type d’artéfact (prend en charge les valeurs de l’énumération Artifact.ArtifactSubtype où les valeurs incluent Background, Footer, Header, Undefined, Watermark).
Artifact.Contents – Obtient une collection d’opérateurs internes d’artéfact. Son type pris en charge est System.Collections.ICollection.
Artifact.Form – Obtient le XForm d’un artéfact (si XForm est utilisé). Les artéfacts de filigranes, d’entête, et de pied de page contiennent XForm qui montre tous les contenus de l’artéfact.
Artifact.Image – Obtient l’image d’un artéfact (si une image est présente, sinon null).Artifact.Text – Obtient le texte d’un artefact.
Artifact.Rectangle – Obtient la position d’un artefact sur la page.
Artifact.Rotation – Obtient la rotation d’un artefact (en degrés, une valeur positive indique une rotation dans le sens antihoraire).
Artifact.Opacity – Obtient l’opacité d’un artefact. Les valeurs possibles sont dans la plage 0…1, où 1 est complètement opaque.
Exemples de programmation : Obtention de filigranes
Le fragment de code suivant montre comment obtenir chaque filigrane sur la première page d’un fichier PDF avec PHP.
// Ouvrir le document
$document = new Document($inputFile);
$formattedText = new FormattedText("Watermark",
(new Color())->getBlue()->getRgb(),
(new facades_FontStyle())->getCourier(),
facades_EncodingType::$Identity_h,
true, 72.0);
$horizontalAlignment = new HorizontalAlignment();
$verticalAlignment = new VerticalAlignment();
$artifact = new WatermarkArtifact();
$artifact->setText($formattedText);
$artifact->setArtifactHorizontalAlignment ($horizontalAlignment->getCenter());
$artifact->setArtifactVerticalAlignment ($verticalAlignment->getCenter());
$artifact->setRotation(45);
$artifact->setOpacity(0.5);
$artifact->setBackground(true);
$document->getPages()->get_Item(1)->getArtifacts()->add($artifact);
// Enregistrer le document de sortie
$document->save($outputFile);
$document->close();