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.
- API Java pour ajouter des hyperliens dans PDF
- Ajouter un lien hypertexte dans un PDF
- Ajouter un lien hypertexte pour un PDF externe
- Insérer un lien hypertexte vers une page particulière
- Mettre à jour un lien hypertexte dans un PDF
API Java pour ajouter des hyperliens en PDF - Téléchargement gratuit
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>
Ajouter un lien hypertexte dans un PDF en Java
Voici les étapes pour ajouter un lien hypertexte vers un fichier PDF en Java.
- Créez un nouveau PDF ou chargez-en un existant à l’aide de la classe Document.
- Obtenez la référence de la page où vous souhaitez ajouter le lien hypertexte à partir de la collection Document.getPages().
- Créez un objet de la classe LinkAnnotation et définissez ses propriétés.
- Utilisez la méthode LinkAnnotation.setAction() pour attribuer l’objet GoToURIAction contenant l’URL.
- Ajoutez un lien hypertexte à la page à l’aide de la méthode Page.getAnnotations().add().
- Enregistrez le PDF à l’aide de la méthode Document.save(String).
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");
Java Ajouter un lien hypertexte pour un PDF externe
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.
- Créez un nouveau PDF ou chargez-en un existant à l’aide de la classe Document.
- Obtenez la référence de la page où vous souhaitez ajouter le lien hypertexte à partir de la collection Document.getPages().
- Créez un objet de la classe LinkAnnotation et définissez ses propriétés.
- Utilisez la méthode LinkAnnotation.setAction() pour définir l’action sur l’objet GoToRemoteAction contenant le chemin d’accès au PDF externe.
- Ajoutez un lien hypertexte à la page à l’aide de la méthode Page.getAnnotations().add().
- Enregistrez le PDF à l’aide de la méthode Document.save(String).
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");
Java Insérer un lien hypertexte vers une page PDF particulière
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.
- Créez un nouveau PDF ou chargez-en un existant à l’aide de la classe Document.
- Obtenez la référence de la page où vous souhaitez ajouter le lien hypertexte à partir de la collection Document.getPages().
- Créez une instance de la classe TextFragment pour définir le texte du lien hypertexte.
- Créez une instance de la classe LocalHyperlink et utilisez la méthode LocalHyperlink.setTargetPageNumber() pour définir le numéro de page cible.
- Affectez l’objet LocalHyperlink à l’aide de la méthode TextFragment.setHyperlink().
- Ajoutez du texte à la page à l’aide de la méthode Page.getParagraphs().add(TextFragment).
- Enregistrez le PDF à l’aide de la méthode Document.save(String).
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");
Mettre à jour un lien hypertexte dans un PDF à l’aide de Java
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.
- Créez un nouveau PDF ou chargez-en un existant à l’aide de la classe Document.
- Obtenez la référence de la page où se trouve le lien hypertexte à partir de la collection Document.getPages().
- Extrayez l’objet LinkAnnotation souhaité par index à l’aide de la méthode Page.getAnnotations().getitem().
- Mettez à jour les propriétés requises du lien hypertexte et enregistrez le PDF à l’aide de la méthode Document.save(String).
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.