Nous sommes le Dim 20 Juil, 2025 06:05
Supprimer les cookies

Compiler pdf split and merge

Sur le logiciel libre en général ou un logiciel libre en particulier

Lun 27 Août, 2007 19:29

Bonjour à tous,

J'ai vu la fiche de pdfsam, puis son site officiel, et il y a une où deux fonctions que j'aimerais tester. Ces fonctions font partie de la version "enhanced" de pdfsam. Pour cette version, seule les sources sont accessibles gratuitement, il faut faire une donation pour accéder aux binaires.

L'auteur précise qu'il est tout à fait possible de télécharger les sources et de les compiler, pour utiliser le logiciel. Donc, je voudrais essayer. Mais dans l'archive distribuée, il me semble qu'il manque certains éléments. Il y un petit lanceur en C++ (pas de pb de ce côté), et le gros du logiciel semble être en java. Or, il n'y a pas grand chose pour expliquer comment compiler le tout, pour créer le fichier .jar (dont a besoin le lanceur C++). On trouve l'ensemble des fichiers .java, dans différents répertoires, mais aucun makefile/script,... De plus, pdfsam s'appuie sur des bibliothèques externes, mais aucune mention n'en est faite.
J'ai regardé les sources de la version "basic", et il n'y a pas plus d'instructions...

Donc, si quelqu'un a des éléments sur la procédure pour compiler ce logiciel, j'aimerais bien qu'il (elle) m'explique.

Merci d'avoir lu jusqu'au bout,

rangatira
rangatira

Messages : 151

Lun 27 Août, 2007 21:55

C'est limite un logiciel libre :
Il faut un minimum de documentation pour qu'une source soit réellement exploitable, et encore par quelqu'un qui s'y connaît bien.

Juste deux questions :
Quelles propriétés t'intéressent ?
Sous quel système d'exploitation es-tu ?

Enfin, c'est vrai que c'est un bon moyen d'avoir des fonds pour continuer à développer le logiciel.
Il est bon de récompenser un auteur si le logiciel produit est vraiment intéressant. Le fait que seul paypal soit disponible est un peu gênant, pour certains...
Cirdan

Messages : 313
Géo : Paris

Mar 28 Août, 2007 06:50

Il existe pdftk qui est libre et qui fait tout ce qu'on peut souhaiter faire sur un pdf.
En plus il y a une interface graphique qui est la pour une meilleure prise en main.
Il y a même une interface tout en francais !
Si tu as une pomme, que j'ai une pomme, et que l'on échange nos pommes, nous aurons chacun une pomme.
Mais si tu as une idée, que j'ai une idée et que l'on échange nos idées, nous aurons chacun deux idées.
Citation de George Bernard Shaw
RilaX

Messages : 333
Géo : Marseille

Mar 28 Août, 2007 07:59

Cirdan a écrit:Quelles propriétés t'intéressent ?
Sous quel système d'exploitation es-tu ?

En fait c'est pas vraiment pour moi (un peu quand même mais pas seulement). Donc c'est plutôt sous windows. Ce qui m'intéresse principalement, c'est la fonction qui s'appelle "mix", qui permet de fabriquer un pdf à partir de deux fichiers différents, l'un contenant les pages paires et l'autre les pages impaires. Il faut donc fusionner en prenant une page du fichier A puis une du fichier B, et ainsi de suite.

Cirdan a écrit:Il est bon de récompenser un auteur si le logiciel produit est vraiment intéressant.

Oui, je n'y suis pas du tout opposé si le logiciel me rend service, mais j'aimerais pouvoir juger.

RilaX a écrit:Il existe pdftk qui est libre et qui fait tout ce qu'on peut souhaiter faire sur un pdf.

Oui je connais pdftk, c'est très bien. Mais pour la fonction expliquée au-dessus, il faut obligatoirement passer par un script. Il ne le fait pas en standard, ni aucune des interfaces que j'ai vues. J'ai trouvé de tels scripts pour Linux et Windows. Ca marche très bien, sauf que sous windows, il faut aller dans le registre pour activer la fonction "Delayed Variables Expansion". Or, je me vois mal expliquer aux gens qui ont besoin du logiciel, qu'il faut aller modifier leur registre.
rangatira

Messages : 151

Mar 28 Août, 2007 09:50

En que language sont les scripts ? batch, vbs, etc. ?
rangatira a écrit:Il faut aller dans le registre pour activer la fonction "Delayed Variables Expansion". Or, je me vois mal expliquer aux gens qui ont besoin du logiciel, qu'il faut aller modifier leur registre.

C'est ms windows qui te le demande ? On peut peut être faire un batch qui ne nécessite pas cette activation.

Pour ce qui est de l'activation de cette fonction, il suffit de créer deux fichiers reg : un qui activera la fonction et un autre qui la désactivera. Ils n'auront pas à utiliser regedit...

Les pages viennent t-elles uniquement d'une suite bureautique ? Y en a t-il beaucoup ? Si non, on peut faire l'opération manuellement à l'aide de pdfcreator (on imprime des pdf en pdf :P )...
Cirdan

Messages : 313
Géo : Paris

Mar 28 Août, 2007 12:27

Oui il y a pas mal de pages (genre 60 dans chaque fichier), donc à la main c'est long.

En fait le tout est de générer une ligne de commande appelant pdftk avec les bons paramètres, i.e. (avec 3 pages, pour l'exemple):

pdftk A=gauche.pdf B=droite.pdf cat A1 B1 A2 B2 A3 B3 output result.pdf

Donc mon script batch (trouvé ) est le suivant:

Code: Tout sélectionner
set PAGECOUNT=25
set cmd=cat
for /L %%i in (1,1,%PAGECOUNT%) do SET cmd=!cmd! A%%i B%%i
pdftk A=gauche.pdf B=droite.pdf %cmd% output result.pdf


Il faut donc générer la chaine "A1 B1 ...", avec la bonne longueur. La boucle "for" fait ça, mais en réutilisant à chaque fois la valeur précédente de la chaine cmd, ce qui est parfaitement logique mais nécessite d'autoriser la "Delayed Variable Expansion" via le registre.
Je n'avais pas pensé au coup du fichier .reg (pas trop l'habitude de windows, en fait), mais ça parait pas mal.
Sinon je pense que je vais faire un tout petit programme C++ qui remplace le script: génération de la commande et exécution. Il n'y en a que pour quelques lignes.


edit: youpi, en C++, ça marche!
rangatira

Messages : 151

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit