Créer des liens PDF en Java

Aspose.PDF for Java utilise LinkAnnotation avec un objet d’action pour définir le comportement des liens.

Créer un lien avec une action de lancement

Utilisez cet exemple lorsqu’une annotation de lien doit lancer un fichier ou une cible externe.

  1. Ouvrez le PDF source Document et sélectionnez la page cible.
  2. Créez une LinkAnnotation et configurez sa bordure et sa couleur.
  3. Attribuez une LaunchAction et enregistrez le document.
public static void createLinkAnnotationLaunchAction(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        Page page = document.getPages().get_Item(1);

        LinkAnnotation link = new LinkAnnotation(page, new Rectangle(10, 580, 120, 600, true));
        Border border = new Border(link);
        border.setWidth(5);
        border.setDash(new Dash(1, 1));
        link.setBorder(border);
        link.setColor(Color.getGreen());
        link.setAction(new LaunchAction(document, inputFile.toString()));
        page.getAnnotations().add(link);
        document.save(outputFile.toString());
    }
}

Créer un lien d’accès à distance

Utilisez cet exemple lorsque le lien doit ouvrir une page dans un autre document PDF.

  1. Ouvrez le PDF source Document.
  2. Créez une LinkAnnotation sur la page cible.
  3. Attribuez un GoToRemoteAction et enregistrez le fichier de sortie.
public static void createLinkAnnotationGoToRemoteAction(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        Page page = document.getPages().get_Item(1);

        LinkAnnotation link = new LinkAnnotation(page, new Rectangle(10, 580, 120, 600, true));
        link.setColor(Color.getGreen());
        link.setAction(new GoToRemoteAction(inputFile.toString(), 1));
        page.getAnnotations().add(link);
        document.save(outputFile.toString());
    }
}

Créer un lien de référence interne

Utilisez cet exemple lorsque le lien doit diriger vers une autre page du même document PDF.

  1. Ouvrez le PDF source Document.
  2. Créez une LinkAnnotation et configurez son apparence.
  3. Attribuez un GoToAction à la page de destination et enregistrez le document.
public static void createLinkAnnotationGoToAction(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        Page page = document.getPages().get_Item(1);

        LinkAnnotation link = new LinkAnnotation(page, new Rectangle(10, 580, 120, 600, true));
        Border border = new Border(link);
        border.setWidth(5);
        border.setDash(new Dash(1, 1));
        link.setBorder(border);
        link.setColor(Color.getGreen());
        if (document.getPages().size() >= 4) {
            link.setAction(new GoToAction(document.getPages().get_Item(4)));
        } else {
            link.setAction(new GoToAction(document.getPages().get_Item(document.getPages().size())));
        }
        page.getAnnotations().add(link);
        document.save(outputFile.toString());
    }
}

Créer un lien URI

Utilisez cet exemple lorsque le lien doit ouvrir une ressource Web via une action URI.

  1. Ouvrez le PDF source Document.
  2. Créez une LinkAnnotation sur la page.
  3. Attribuez une GoToURIAction et enregistrez le fichier de sortie.
public static void createLinkAnnotationGoToUriAction(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        Page page = document.getPages().get_Item(1);

        LinkAnnotation link = new LinkAnnotation(page, new Rectangle(10, 580, 120, 600, true));
        link.setColor(Color.getGreen());
        link.setAction(new GoToURIAction("https://docs.aspose.com/pdf/python"));
        page.getAnnotations().add(link);
        document.save(outputFile.toString());
    }
}