Inclusion pdf

Bonjour,

Y a-t-il un package qui permette d’inclure des PDF externes tout en conservant leurs liens actifs ? pdfpages, par exemple, ne le permet pas.

Jean-Yves

Le 28/05/21 à 10h31, Jean-Yves Baudais a écrit :

Bonjour,

Bonjour,

Y a-t-il un package qui permette d’inclure des PDF externes tout en conservant leurs liens actifs ? pdfpages, par exemple, ne le permet pas.

Le package pax le permet, mais est une usine à gaz nécessitant Java. Le package expérimental newpax, s’appuyant sur Lua, est conçu pour le remplacer.

Denis

Bonjour
pdfpage ne conviendrait pas

Pierre

Message du 28/05/21 10:40> De : “Denis Bitouzé” > A : “Jean-Yves Baudais” > Copie à : “gut” > Objet : Re: [gut] Inclusion PDF> > Le 28/05/21 à 10h31, Jean-Yves Baudais a écrit :> > > Bonjour,> > Bonjour,> > > Y a-t-il un package qui permette d’inclure des PDF externes tout en> > conservant leurs liens actifs ? pdfpages, par exemple, ne le permet> > pas.> > Le package pax le permet, mais est une usine à gaz nécessitant> Java. Le package expérimental newpax, s’appuyant sur Lua, est conçu> pour le remplacer.> – > Denis> >

----- Original Message -----

From: “Pierre BURG” xyz@xyz.tld
pdfpage ne conviendrait pas

Heu… y’a pas de package “pdfpage”. Y’a “pdfpages” mais comme je l’écrivais, ça ne le permet pas.

– Jean-Yves

Le 28/05/2021 à 10:40, Denis Bitouzé a écrit :

Le package pax le permet, mais est une usine à gaz nécessitant
Java. Le package expérimental newpax, s’appuyant sur Lua, est conçu
pour le remplacer.

Sur https://tex.stackexchange.com/a/529642/14500, j’explique (en
anglais) comment utiliser correctement ‘pax’ (lire la partie
“installation automatique”). Mais effectivement, cela nécessite de
disposer d’une machine virtuelle Java pré-installée (ce qui est souvent
le cas).

Le package ‘newpax’ remplace ‘pax’ à merveilles (et utilise Lua au lieu
de Java pour faire l’extraction des liens) mais il n’est pas encore
facile à utiliser (il faudrait que je mette à jour ma réponse sur
stackexchange pour proposer cette solution qui représente l’avenir).

Dans tous les cas, il faut créer un fichier complémentaire à chaque PDF
inclus pour y extraire ses liens (“annotations” au sens PDF) afin de
pouvoir ensuite les reconstruire dans le PDF final.

Cordialement,

 Paul Gaborit

Merci Paul pour les précisions. Je vais en rester à pax en attendant qu’un jour je passe à LuaLaTeX…

Sur https://tex.stackexchange.com/a/529642/14500, j’explique (en
anglais) comment utiliser correctement ‘pax’ (lire la partie
“installation automatique”). Mais effectivement, cela nécessite de
disposer d’une machine virtuelle Java pré-installée (ce qui est souvent
le cas).

J’ai aussi trouvé les informations dans le README mais je suis comme PeterGrill : le pdfannotextractor de la texlive de Ubuntu ne fonctionne pas (ça ne m’étonne qu’à moitié, j’ai régulièrement, mais pas trop souvent, dû “patcher” le package texlive-full). Voici le résultat de quelques commandes

$ CLASSPATH=‘PDFBox-0.7.3/lib/PDFBox-0.7.3.jar:%CLASSPATH%’ pdfannotextractor monfichier.pdf
DFAnnotExtractor 0.1l, 2012/04/18 - Copyright (c) 2008, 2011, 2012 by Heiko Oberdiek.
Erreur : impossible d’initialiser la classe principale pax.PDFAnnotExtractor
Causé par : java.lang.NoClassDefFoundError: org/pdfbox/cos/ICOSVisitor

j’ai aussi essayé en mettant le chemin complet pour la CLASSPATH qui est /usr/share/maven-repo/org/apache/pdfbox/pdfbox/1.8.16/pdfbox-1.8.16.jar mais pas mieux. Également

$ java -cp pax.jar:pdfbox.jar pax.PDFAnnotExtractor monfichier.pdf
Erreur : impossible de trouver ou de charger la classe principale pax.PDFAnnotExtractor
Causé par : java.lang.ClassNotFoundException: pax.PDFAnnotExtractor

et aussi avec les droits admin en me disant qu’il y avait des problèmes de droit, mais pas mieux. Autre chose,

root$ pdfannotextractor --install

me dit qu’il n’y a rien à faire car tout est déjà installé.

$ kpsewhich --progname pdfannotextractor --format texmfscripts pax.jar
/usr/share/texlive/texmf-dist/scripts/pax/pax.jar

et ce fichier .jar contient bien pax/PDFAnnotExtractor.class

J’ai l’impression qu’il y a bien d’un côté pdfbox et pax mais…

–Jean-Yves

Le 28/05/2021 à 13:45, Jean-Yves Baudais a écrit :

Merci Paul pour les précisions. Je vais en rester à pax en attendant qu’un jour je passe à LuaLaTeX…

[…]

J’ai aussi trouvé les informations dans le README mais je suis comme PeterGrill : le pdfannotextractor de la texlive de Ubuntu ne fonctionne pas (ça ne m’étonne qu’à moitié, j’ai régulièrement, mais pas trop souvent, dû “patcher” le package texlive-full). Voici le résultat de quelques commandes
[…]

J’ai l’impression qu’il y a bien d’un côté pdfbox et pax mais…

Donc au final, ça ne marche pas. :frowning:

Personnellement, depuis des années, je l’utilise sans souci sur Ubuntu
(avec une version ‘vanilla’ de TeXLive mais ça ne devrait pas changer
grand chose car ‘pax’ n’évolue quasiment plus). Peut-être un souci de
version java (j’utilise la version openjdk 11.0.11 2021-04-20).

Au fait pour l’installation via ‘pdfannotextractor --install’, la
commande ne doit *pas être exécutée en tant que ‘root’ puisqu’elle
installe PDFBox uniquement pour l’utilisateur courant dans le répertoire
~/.texlive2021/scripts/pax/… (avec éventuellement une autre année
selon votre version de TeXLive).

Sinon le passage à ‘newpax’ me semble la meilleure solution (grâce à
l’excellent travail d’Ulrike, merci à elle) mais il faut absolument
installer TeXLive 2021.

Cordialement,

 Paul Gaborit

Est ce que ce n’est pas tout simplement parce que tout est installé déjà
correctement? J’ai pdfbox installé via le package ‘libpdfbox-java’ et et
le pdfannotextractor installé via “texlive-latex-extra” (sous ubuntu,
sans n’avoir rien touché de particulier), et ''pdfannotextractor
monfichier.pdf" me génère bien sans erreur “monfichier.pax”…

Je pense que la déclaration manuelle du CLASSPATH ne doit concerner
qu’une installation manuelle de ces outils, non?

Raphaël

Le 28/05/2021 à 13:45, Jean-Yves Baudais a écrit :

Merci Paul pour les précisions. Je vais en rester à pax en attendant qu’un jour je passe à LuaLaTeX…

Sur https://tex.stackexchange.com/a/529642/14500, j’explique (en
anglais) comment utiliser correctement ‘pax’ (lire la partie
“installation automatique”). Mais effectivement, cela nécessite de
disposer d’une machine virtuelle Java pré-installée (ce qui est souvent
le cas).
J’ai aussi trouvé les informations dans le README mais je suis comme PeterGrill : le pdfannotextractor de la texlive de Ubuntu ne fonctionne pas (ça ne m’étonne qu’à moitié, j’ai régulièrement, mais pas trop souvent, dû “patcher” le package texlive-full). Voici le résultat de quelques commandes

$ CLASSPATH=‘PDFBox-0.7.3/lib/PDFBox-0.7.3.jar:%CLASSPATH%’ pdfannotextractor monfichier.pdf
DFAnnotExtractor 0.1l, 2012/04/18 - Copyright (c) 2008, 2011, 2012 by Heiko Oberdiek.
Erreur : impossible d’initialiser la classe principale pax.PDFAnnotExtractor
Causé par : java.lang.NoClassDefFoundError: org/pdfbox/cos/ICOSVisitor

j’ai aussi essayé en mettant le chemin complet pour la CLASSPATH qui est /usr/share/maven-repo/org/apache/pdfbox/pdfbox/1.8.16/pdfbox-1.8.16.jar mais pas mieux. Également

$ java -cp pax.jar:pdfbox.jar pax.PDFAnnotExtractor monfichier.pdf
Erreur : impossible de trouver ou de charger la classe principale pax.PDFAnnotExtractor
Causé par : java.lang.ClassNotFoundException: pax.PDFAnnotExtractor

et aussi avec les droits admin en me disant qu’il y avait des problèmes de droit, mais pas mieux. Autre chose,

root$ pdfannotextractor --install

me dit qu’il n’y a rien à faire car tout est déjà installé.

$ kpsewhich --progname pdfannotextractor --format texmfscripts pax.jar
/usr/share/texlive/texmf-dist/scripts/pax/pax.jar

et ce fichier .jar contient bien pax/PDFAnnotExtractor.class

J’ai l’impression qu’il y a bien d’un côté pdfbox et pax mais…

–Jean-Yves

Au fait pour l’installation via ‘pdfannotextractor --install’, la
commande ne doit *pas être exécutée en tant que ‘root’ puisqu’elle
installe PDFBox uniquement pour l’utilisateur courant dans le répertoire
~/.texlive2021/scripts/pax/… (avec éventuellement une autre année
selon votre version de TeXLive).

Ok alors pas en root

$ pdfannotextractor --install
PDFAnnotExtractor 0.1l, 2012/04/18 - Copyright (c) 2008, 2011, 2012 by Heiko Oberdiek.

  • Nothing to do, because PDFBox is already found:
    /usr/share/java/pdfbox.jar

et il n’y a rien dans ~/.texliveXYZ, d’ailleurs y’a même pas de ~/.texliveXYZ !

$ pdfannotextractor monfichier.pdf
PDFAnnotExtractor 0.1l, 2012/04/18 - Copyright (c) 2008, 2011, 2012 by Heiko Oberdiek.
Erreur : impossible d’initialiser la classe principale pax.PDFAnnotExtractor
Causé par : java.lang.NoClassDefFoundError: org/pdfbox/cos/ICOSVisitor

M’enfin, c’est agaçant !

–Jean-Yves

Oups, effectivement: c’est sur ma debian que la commande marche sans
problème… J’obtiens bien la même erreur java avec ubuntu…
Probablement un bug spécifique à Ubuntu, à faire remonter.

Raphaël

Le 28/05/2021 à 15:01, Jean-Yves Baudais a écrit :

Au fait pour l’installation via ‘pdfannotextractor --install’, la
commande ne doit *pas être exécutée en tant que ‘root’ puisqu’elle
installe PDFBox uniquement pour l’utilisateur courant dans le répertoire
~/.texlive2021/scripts/pax/… (avec éventuellement une autre année
selon votre version de TeXLive).

Ok alors pas en root

$ pdfannotextractor --install
PDFAnnotExtractor 0.1l, 2012/04/18 - Copyright (c) 2008, 2011, 2012 by Heiko Oberdiek.

  • Nothing to do, because PDFBox is already found:
    /usr/share/java/pdfbox.jar

et il n’y a rien dans ~/.texliveXYZ, d’ailleurs y’a même pas de ~/.texliveXYZ !

$ pdfannotextractor monfichier.pdf
PDFAnnotExtractor 0.1l, 2012/04/18 - Copyright (c) 2008, 2011, 2012 by Heiko Oberdiek.
Erreur : impossible d’initialiser la classe principale pax.PDFAnnotExtractor
Causé par : java.lang.NoClassDefFoundError: org/pdfbox/cos/ICOSVisitor

M’enfin, c’est agaçant !

–Jean-Yves

Le 28/05/2021 à 15:01, Jean-Yves Baudais a écrit :

Au fait pour l’installation via ‘pdfannotextractor --install’, la
commande ne doit *pas être exécutée en tant que ‘root’ puisqu’elle
installe PDFBox uniquement pour l’utilisateur courant dans le répertoire
~/.texlive2021/scripts/pax/… (avec éventuellement une autre année
selon votre version de TeXLive).

Ok alors pas en root

$ pdfannotextractor --install
PDFAnnotExtractor 0.1l, 2012/04/18 - Copyright (c) 2008, 2011, 2012 by Heiko Oberdiek.

  • Nothing to do, because PDFBox is already found:
    /usr/share/java/pdfbox.jar

et il n’y a rien dans ~/.texliveXYZ, d’ailleurs y’a même pas de ~/.texliveXYZ !

$ pdfannotextractor monfichier.pdf
PDFAnnotExtractor 0.1l, 2012/04/18 - Copyright (c) 2008, 2011, 2012 by Heiko Oberdiek.
Erreur : impossible d’initialiser la classe principale pax.PDFAnnotExtractor
Causé par : java.lang.NoClassDefFoundError: org/pdfbox/cos/ICOSVisitor

M’enfin, c’est agaçant !

À mon avis, le problème est là: le package ‘libpdfbox-java’ (de Ubuntu)
doit être installé ! La tentative d’installation via ‘pdfannotextractor’
ne fait rien car il la détecte… mais ce n’est pas la bonne version !
(‘pdfannotextractor’ utilise une vieille version pdfbox.)

En espérant que ce package n’est pas indispensable par ailleurs, il faut
le désinstaller:

% sudo apt remove libpdfbox-java

Ensuite retenter l’installation via ‘pdfannotextractor’

% pdfannotextractor --install

Et ça devrait fonctionner.

Il est même peut-être possible de réinstaller ensuite le package
‘libpdfbox-java’ (je n’ai pas testé).

Cordialement,

 Paul Gaborit

Le 30/05/2021 à 10:23, Paul Gaborit a écrit :

À mon avis, le problème est là: le package ‘libpdfbox-java’ (de Ubuntu)
doit être installé ! La tentative d’installation via ‘pdfannotextractor’
ne fait rien car il la détecte… mais ce n’est pas la bonne version !
(‘pdfannotextractor’ utilise une vieille version pdfbox.)

Et ben voilà ! Super, ça marche. Merci :slight_smile:

En espérant que ce package n’est pas indispensable par ailleurs, il faut
le désinstaller:

Heu… y’a effectivement JabRef qui l’utilise mais bon, pour l’instant
je n’en vois pas les effets.

Merci,

Jean-Yves