Ajouter ou mettre à jour des hyperliens dans un PDF à l'aide de Java

PDF est un format de document populaire qui offre une prise en charge multiplateforme avec une gamme de fonctionnalités pour créer des documents riches. De plus, il supporte une variété d’éléments tels que les médias, les formulaires, les annotations, les artefacts, etc. Parmi ces éléments, les hyperliens sont utilisés assez souvent pour naviguer dans le PDF, d’un PDF à l’autre, pour ouvrir une URL, etc. Dans cet article, vous apprendrez comment ajouter et mettre à jour des liens hypertexte dans des fichiers PDF par programmation en Java.

Aspose.PDF for Java est une API étonnante pour la génération et la manipulation de PDF. À l’aide de l’API, vous pouvez créer, traiter et convertir en toute transparence des fichiers PDF de mises en page simples et complexes. Nous utiliserons cette API pour ajouter et mettre à jour des hyperliens dans les fichiers PDF. Vous pouvez télécharger le JAR de l’API ou l’installer à l’aide des configurations Maven suivantes.

Repository:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Dependency:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>22.4</version>
</dependency>

Voici les étapes pour ajouter un lien hypertexte vers un fichier PDF en Java.

L’exemple de code suivant montre comment ajouter un lien hypertexte dans un PDF en Java.

// Ouvrir le document
Document document = new Document("input.pdf");

// Obtenir la référence de la page
Page page = document.getPages().get_Item(1);

// Créer un objet d'annotation de lien
LinkAnnotation link = new LinkAnnotation(page, new com.aspose.pdf.Rectangle(100, 100, 300, 300));

// Créer un objet de bordure pour LinkAnnotation
Border border = new Border(link);

// Définissez la valeur de largeur de bordure sur 0
border.setWidth ( 0);

// Définir la bordure pour LinkAnnotation
link.setBorder(border);

// Spécifiez le type de lien en tant qu'URI distant
link.setAction( new GoToURIAction("www.aspose.com"));

// Ajouter une annotation de lien à la collection d'annotations de la première page du fichier PDF
page.getAnnotations().add(link);

// Enregistrer le document mis à jour
document.save("output.pdf");

Vous pouvez également accéder à un fichier PDF externe à partir d’un PDF à l’aide d’un lien hypertexte. Les étapes suivantes montrent comment ajouter un lien hypertexte pour un fichier PDF externe en Java.

L’exemple de code suivant montre comment ajouter un lien hypertexte pour un PDF externe en Java.

// Ouvrir le document
Document document = new Document("input.pdf");

// Obtenir la référence de la page
Page page = document.getPages().get_Item(1);

// Créer un lien hypertexte
LinkAnnotation link = new LinkAnnotation(page, new com.aspose.pdf.Rectangle(100, 100, 300, 300));
link.setColor(Color.getGreen());

// Définir l'action
link.setAction( new GoToRemoteAction("external.pdf", 1));

// Ajouter une annotation de lien à la collection d'annotations de la première page du fichier PDF
page.getAnnotations().add(link);

// Enregistrer le document mis à jour
document.save("output.pdf");

Dans certains cas, vous devez naviguer d’une page à l’autre au sein d’un document PDF. La classe LocalHyperlink est utilisée pour naviguer vers une page particulière dans un PDF. Voici les étapes pour y parvenir.

L’exemple de code suivant montre comment ajouter un lien hypertexte pour accéder à une page particulière dans un PDF.

// Ouvrir le document
Document document = new Document("input.pdf");

// Obtenir la référence de la page
Page page = document.getPages().get_Item(1);

// Créer une instance TextFragment
TextFragment text = new TextFragment("link page number test to page 7");

// Créer une instance de lien hypertexte local
LocalHyperlink link = new LocalHyperlink();

// Définir la page cible pour l'instance de lien
link.setTargetPageNumber( 7);

// Définir le lien hypertexte TextFragment
text.setHyperlink(link);

// Ajouter du texte à la collection de paragraphes de la page
page.getParagraphs().add(text);

// Enregistrer le document mis à jour
document.save("output.pdf");

Vous pouvez également récupérer un lien hypertexte à partir d’un fichier PDF et mettre à jour ses propriétés. Voici les étapes pour effectuer cette opération.

L’exemple de code suivant montre comment mettre à jour un lien hypertexte dans un PDF à l’aide de Java.

// Ouvrir le document
Document document = new Document("input.pdf");

// Obtenir la première annotation de lien de la première page du document
LinkAnnotation linkAnnot = (LinkAnnotation)document.getPages().get_Item(1).getAnnotations().get_Item(1);

// Modifier l'action du lien et définir la cible comme adresse Web
linkAnnot.setAction(new GoToURIAction("www.aspose.com"));

// Modifier les autres propriétés si nécessaire

// Enregistrer le document mis à jour
document.save("output.pdf");

API Java pour ajouter des hyperliens dans PDF - Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite afin d’utiliser Aspose.PDF for Java sans limitations d’évaluation.

Conclusion

Dans cet article, vous avez appris à ajouter différents types d’hyperliens dans des fichiers PDF à l’aide de Java. De plus, vous avez vu comment récupérer les hyperliens à partir de fichiers PDF existants et mettre à jour leurs propriétés par programmation. De plus, vous pouvez en savoir plus sur l’API Java PDF à l’aide de la documentation. Si vous avez des questions ou des questions, vous pouvez nous contacter via notre forum.

Voir également