7 votes

Ouvrir le lien dans un nouvel onglet à partir du fichier PDF

J'ai créé le fichier PDF de manière programmatique. Pour cela, j'ai utilisé la bibliothèque de conversion HTML en PDF. Dans mon PDF, il y a des liens vers certaines pages du site web.

J'ai implémenté le HTML de la manière suivante, puis je l'ai converti en PDF de manière programmatique.

Lien

Mais lorsque j'ouvre ce PDF dans le navigateur Chrome ou Firefox et que je clique sur l'un des liens présents dans le PDF, les liens s'ouvrent dans le même onglet au lieu d'un nouvel onglet. Veuillez m'aider à trouver une solution à ce problème, de sorte que mon PDF reste dans un onglet et que le lien s'ouvre dans un autre onglet du navigateur.

J'ai déjà essayé

target="_blank"

target="_top"

Mais rien n'a fonctionné pour moi.

9voto

flyx Points 2925

Réponse courte : Il n'est pas possible de manière garantie et multiplateforme.

Réponse longue : Les hyperliens dans un PDF sont différents des hyperliens dans HTML. Le PDF n'a pas été conçu pour être visualisé dans le cadre d'une expérience de navigation. Par conséquent, il n'existe aucune option pour ouvrir les hyperliens PDF dans un nouvel onglet, car le PDF ne connaît pas le concept d'onglets.

Il y a quelques discussions dans les forums d'Adobe à ce sujet, qui se résument à "pas directement possible, mais vous pourriez intégrer du JavaScript dans le PDF pour le faire". Ils donnent un fichier EPS comme exemple :

%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 0 0 100 100
%%EndProlog

[ /Rect [ 0 0 100 100 ]
/Action << /Subtype /JavaScript /JS (app.launchURL\("PLACE-YOUR-URL-HERE", true\);) >>
/Subtype /Link

/ANN pdfmark

%%EOF

Avant d'essayer d'intégrer ce fichier EPS dans votre PDF, sachez que le visualiseur PDF de Chrome a très peu de support pour le JavaScript incorporé, donc ce n'est pas garanti de fonctionner. Il peut également avertir l'utilisateur qu'il y a du code JavaScript qui sera exécuté s'ils cliquent dessus. Je dirais que ça n'en vaut pas la peine.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X