Béta test de PDFLab 2.0

Publié : 29.03.2005 - 14h34 par Fabien

Bonjour mes beta-testeurs préférés :D

J'aimerais soumettre à vos tests sans pitié la nouvelle version de PDFLab.

Cette dernière à été passablement revue et réécrite. En particulier, j'ai abandonné LaTeX comme moteur PDF et j'ai opté pour les classes iText. Ce package est un véritable bijou pour créer et gérer des documents PDFs. L'application devient également plus légère et corrige pas mal de problèmes posés par l'utilisation de LaTeX.

Pour accéder à la documentation, choisissez le menu "Aide".

Voici donc les nouveautés annoncées pour cette version:

Nouveau moteur PDF: iText remplace LaTeX:

plus de problème de taille des fichiers
possibilité d'effectuer des recherches dans les PDFs créés
possibilité de conserver les signets
possibilité d'ajouter des signets
possibilité de traiter les fichiers cryptés (si vous possédez le mot de passe)
plus de problèmes de marges qui se déplacent

Nouveaux outils:

séparer les pages d'un documents
séparer les pages paires et impaires
crypter un document
décrypter un document
ajouter un filigrane
envoyer à CocoaBooklet

Contrôle graphique des pages à inclure
Nouveau bouton pour répéter n fois chaque pages


Le téléchargement c'est par là !


Publié : 29.03.2005 - 14h59 par marief

Là, c'est un vrai défi ! J'ai un document de 10 000 pages à lui donner :lol:

Eh bien, il l'a accepté et l'a déplié !!! J'ai pu enlever des pages ou demander de sélectionner les 100 premières, il n'a pas quitté. Mais même en demandant de faire un pdf des 10 premières pages, la barre d'avancement ne bouge guère de sa position de départ avec ce monstre.
Par contre, avec assez peu de pages, il semble obéir, sauf pour l'ajout de pages blanches. Je n'ai pu en mettre ni au début ni à la fin ni en insertion, qu'il y ait au départ un nombre pair de pages ou non.
Pour enregistrer, j'ai à nouveau essayé le copié-collé du nom du fichier, mais ça ne marche toujours pas. Cela est peut-être inhérent au fonctionnement de PDFLab ?


Publié : 29.03.2005 - 15h45 par Fabien

Ca va marcher. Image


Publié : 29.03.2005 - 15h52 par marief

Pardon, je n'aurais pas dû éditer. Voir au-dessus :oops:


Publié : 29.03.2005 - 16h06 par marief

Une question : est-il fait pour insérer des pages blanches à l'intérieur du document ? Si je joins plusieurs pdf, j'ai un document de mettons 27 pages. J'insère une page blanche après la page 16 et je crée le pdf, il ne fait plus que les 16 premières pages.
Et si je veux commencer par une page blanche : "Aucun document ne peut-être inclus".
Est-ce normal ?


Publié : 30.03.2005 - 7h25 par Fabien

Je vais voir ce problème des pages blanches, apparemment il y a un hic.

Merci pour ces tests.


Publié : 30.03.2005 - 8h06 par marief

Voici ce que j'ai pu constater :
-> Répétition des pages : OK, mais décalage vertical à la lecture dans AdobeReader. C'est juste un peu bizarre.
-> Je peux sélectionner pages paires ou impaires, ce qui m'était impossible avant.
-> Quand on enlève tout, il peut rester des cases fantômes cochées sans problème pour la suite.


Publié : 30.03.2005 - 10h50 par marief

Je lui ai redonné le bigburger de 10 000 pages en demandant d'en extraire 2 pour créer un pdf. Je crois qu'il souffre d'indigestion. Cela fait 1h qu'il y est et il en est toujours à la préparation des fichiers. Il n'est pas bloqué, le moniteur d'activité indique qu'il tourne, mais la barre n'a pas avancé d'un poil. Il faut reconnaître que je fais fort ! Le fichier total fait ~600 Mo. Cependant, Acrobat (ben oui, ne le dites pas à nico) fait ce travail en moins d'une minute.


Publié : 30.03.2005 - 11h09 par Fabien

Y a-t-il des signets à ce document ?


Publié : 30.03.2005 - 11h35 par marief

Oui, tout plein. 10 000 pages de partitions de guitare, dont les chapitres, d'origines variées font de une à plusieurs dizaines de pages.

Drôlement bien, cette nouveauté des signets, en passant !


Publié : 30.03.2005 - 11h55 par Fabien

C'est pour ça que ça prend du temps.

Quand tu dis qu'Acrobat fait ce travail en moins d'une minute, c'est en comptant le temps qu'il faut pour ouvrir le document ?


Publié : 30.03.2005 - 13h36 par marief

Je viens de chronométrer : environ 1mn30 entre le moment où je choisis le menu contextuel "ouvrir avec" et la fin de l'enregistrement des deux mêmes pages du gros pdf.
Mais il était peut-être en cache, je n'y connais rien dans ce domaine. Ceci dit, ça m'a toujours paru très rapide.
eMac 1,25 Gz OSX 10.3.8


Publié : 30.03.2005 - 18h00 par jibu

pourquoi l'aperçu dans le volet latérale ne fonctionne pas???


Publié : 30.03.2005 - 19h15 par marief

Il faut sélectionner le document (si on parle bien de la même chose).
Je rectifie : pour une page, ça affiche une page blanche.


Publié : 30.03.2005 - 20h10 par Fabien

jibu a écrit :pourquoi l'aperçu dans le volet latérale ne fonctionne pas???


ce n'est pas un aperçu, c'est juste un témoin de la rotation du document.

Un aperçu n'aurait pas beaucoup de sens pour un document multipage.


Publié : 30.03.2005 - 20h30 par jibu

Fabien a écrit :
jibu a écrit :pourquoi l'aperçu dans le volet latérale ne fonctionne pas???


ce n'est pas un aperçu, c'est juste un témoin de la rotation du document.

Un aperçu n'aurait pas beaucoup de sens pour un document multipage.


ok.

mais je comprend pas pkoi il n'y aurait pas de sens? si tu veux supprimer certaine page, c'est chiant d'avoir aperçu à coté pour trouvé ce qu'on veut enlever et revenir sur pdflab, chercher le num de page... etc.

ou alors un truc m'échappe...


Publié : 30.03.2005 - 21h19 par Fabien

ouaip...c'est peut-être jouable, mais ça risque de passablement alourdir le tout.


Publié : 30.03.2005 - 21h28 par jibu

fais comme le finder, avec une petite flèche, on veut ou on veut pas.


Publié : 12.04.2005 - 19h32 par marief

Je viens de faire le test : séparer les parties françaises et anglaises d'un mode d'emploi Sony. La version précédente de PDFLab n'avait pas marché. Celle-ci non plus, ces modes d'emploi sont verrouillés et CombinePDFs marchait quand même.
Après avoir fait sauter le verrou, PDFLab a parfaitement fonctionné pour extraire la seconde moitié de ces 152 pages.


Publié : 13.04.2005 - 12h56 par Fabien

Tu as fait "sauter le verou" avec PDFLab ?

Peut-être devrais-je faire une demande de mot de passe lorsqu'on essaie de traiter un PDF protégé.


Publié : 13.04.2005 - 18h37 par marief

Noooonn, PDFLab est très respectueux des verrous, contrairement à CombinePDFs. Il faut passer par pdfRecover ou un truc de ce genre sinon.
Voilà la page de téléchargement de cet exemple de manuel :
http://www.sonydigital-link.com/manuals ... &c=PA&f=MD


Publié : 13.04.2005 - 20h46 par Fabien

Oui, mais est-ce que tu peux déverouiller ce document avec les outils de PDFLab ?


Publié : 14.04.2005 - 8h32 par marief

Ben, ce sera une réponse de Normand.
Mes premiers essais ont donné : "Non. Le document est reproduit en entier, ou alors la barre d'avancement ne bouge pas."
Je précise que Acrobat ne permet pas d'extraire des pages de ce manuel.
Après avoir quitté PDFLab, viré les préf. et relancé, il a bien traité le manuel comme je voulais, mais je ne pouvais pas reproduire la manœuvre.
Je crois qu'i y a un problème avec la mise à jour des préférences. Il faut souvent jeter le fichier de préférences pour que les nouvelles commandes soient prises en compte, tout enlever ne suffit pas si on reprend le même document. Et même avec un nouveau document, il me semble.
Est-ce que cela a à voir avec le fait que des cases fantômes restent cochées ?
Je constate qu'il y a souvent des indications différentes sur la fenêtre principale et sur le volet de droite et le résultat sortant n'est pas toujours prévisible.


gestion des ADF non recto-verso?

Publié : 07.09.2005 - 15h51 par K-leb

Tout d'abord bravo au développeur pour ce programme particulièrement utile.

Il me manque juste une fonction. J'ai un scanner avec un ADF (automatic Document Feeder) c'est à dire, en Voltaire, un chargeur à feuilles. Malheureusement, ce chargeur ne scanne que les recto des feuilles. Cela me pose donc un problème quand je souhaite scanner une pile de feuilles recto-verso.

Idéalement, il faudrait une fonnction qui permette de combiner deux documents PDF. Mais pas "simplement". Supposons que nous ayons le pdf R qui contienne les Rectos et V les verso. Le problème c'est que le document R contient les pages 1-3-5-etc. Mais les document V ne contient pas les feuilles dans l'ordre 2-4-6-etc mais dans l'ordre opposé (donc etc-6-4-2).

Il faudrait donc combiner le page 1R puis la dernière de V puis 2R puis l'avant-dernière de V etc...

Serait-ce possible d'implémenter cette fonction? j'ai un peu honte de demander comme ça, mais je ne veux pas tout refaire moi-même et je pense que cette fonction peut en intéresser plus d'un...

Motivé?


Publié : 07.09.2005 - 16h22 par Fabien

Ouaip... ça ne devrait pas être trop compliqué.

Par contre je manque cruellement de temps en ce moment, je ne peut donc rien promettre avant la fin du mois (dans le meilleur des cas).


Publié : 09.09.2005 - 13h50 par GIL

question stupide : c'est possible de piloter SmallImage avec Automator ?

(je m'en sers justement pour réaliser les minatures des images pour mon article en cours, et je ne peux plus m'en passer 8))


Publié : 09.09.2005 - 15h52 par Fabien

Voilà encore quelque chose qui est sur ma "to do list"... qui s'allonge, qui s'allonge...


Publié : 09.09.2005 - 16h04 par JCP

Et un widget PDFLab?


Publié : 09.09.2005 - 20h04 par Fabien

JCP a écrit :Et un widget PDFLab?


là, je suis plus sceptique. L'interface de PDFLab devient de plus en plus complexe. En faire un widget serait un peu trop lourd.


recto verso avec pdf lab

Publié : 29.09.2005 - 18h28 par K-leb

Ouaip... ça ne devrait pas être trop compliqué.

Par contre je manque cruellement de temps en ce moment, je ne peut donc rien promettre avant la fin du mois (dans le meilleur des cas).


Pardon du long délai de la réponse. Je manque aussi pas mal de temps. Ce serait vraiment cool si tu trouvais un truc. Je crois effectivement que cela n'est pas forcéement trop compliqué mais je ne connais rien au nouveau moteur utilisé par pdflab et donc je n'ai même pas pris la peine de réfléchir à la bonne commande. Et encore moins à comment intégrer cela. Mais cete fonction me serait vraiment utile et j'espère ne pas être le seul.

Merci de jeter cet oeil bienveillant sur cette requête.


si jamais

Publié : 21.11.2005 - 17h40 par K-leb

Il me semble que le temps est précieux. Donc si jamais cher programmeur tu repasses par là, pourrais-tu me dire où je peux télécharger les sources de PDFLab 2, histoire que j'essaie moi-même d'implémenter la fonction.

Merci


Publié : 23.02.2006 - 23h17 par Krynn

C'est absolument géniale

BRAVO

c'est juste ce que je cherchais


Publié : 07.03.2006 - 16h18 par Fabien

Voilà, c'était juste pour vous dire que PDFLab 2.0 est maintenant officellement "dans les bacs".

A télécharger incessamment sous peu sur MacUpdate ou Versiontracker.


K-leb, ta requête a presque été implémentée. En fait tu devras fonctionner en deux fois:

1. remettre le verso dans l'ordre croissant.
2- utiliser l'outil "Interfolier" pour mêler les documents R et V.


Publié : 10.03.2006 - 10h06 par giyome

Désolé Fabien, je voulais faire des tests exhaustifs donc je ne suis pas intervenu, et comme cela faisait quelque temps que personne réagissait je pensais que le logiciel était un peu endormi dans son développement...

Donc, un bug :

1- Je glisse un .pdf
2- Je développe le contenu des pages (arborescence)
3- Je clique "paires" "impaires" qui coche/décoche les pages correspondantes
4-Ensuite je fais "Tout Enlever" dans la Tool bar
5- ET LA, c'est le drame : le doc disparait mais toutes les petites cases à cocher reste. De même si j'ajoute un nouveau document :D

Apres, j'ai pas eu le temps de trop tester, mais juste deux remarques sur les prefs :
- pourquoi faire un bouton sauver? Pourquoi ne pas plutot impacter les changement dés sélection d'une pref? Je peux éventuellement t'envoyer le code pour faire ça;
- de même, pourquoi choisir les colonnes d'affichages de la liste dans les préfs et pas plutot directement par un petit menu directement accessible dans le coin de la table? En fait, tu trouveras l'exemple exact ici : http://www.objective-cocoa.org/index.php?p=ressource_detail&id=12&PHPSESSID=cc991dc5f19594e0562df7296504b0e4

MAIS LE PLUS GRAVE, c'est que ton appli a plein de fuite mémoire du à des variables que tu ne désalloue pas (malloc) et ça c'est grave car :
- tu pollues le systeme et sature la mémoire
- ton logiciel plantera inévitablement au bout d'un moment

Avec MallocDebug, tu démarres avec 65ko de mal alloué, puis dés que j'utilise ça fait 100ko, 172ko ... donc rapidement des mégas :(

Utilises MallocDebug pour repérer les fuites et corrigez ton code ;)

Bonne continuation ;)


Publié : 10.03.2006 - 10h07 par giyome

EDIT := dsl doublon par erreur


Publié : 10.03.2006 - 10h48 par Fabien

giyome a écrit :Donc, un bug :

1- Je glisse un .pdf
2- Je développe le contenu des pages (arborescence)
3- Je clique "paires" "impaires" qui coche/décoche les pages correspondantes
4-Ensuite je fais "Tout Enlever" dans la Tool bar
5- ET LA, c'est le drame : le doc disparait mais toutes les petites cases à cocher reste. De même si j'ajoute un nouveau document :D


oui, je suis au courant de ce bug, je vais le corriger.

giyome a écrit :Apres, j'ai pas eu le temps de trop tester, mais juste deux remarques sur les prefs :
- pourquoi faire un bouton sauver? Pourquoi ne pas plutot impacter les changement dés sélection d'une pref? Je peux éventuellement t'envoyer le code pour faire ça;


en fait j'applique la même philosophie qu'avec CocoaBooklet, le but étant que l'utilisateur puisse revenir en arrière s'il a fait de mauvais réglages. Mais bon, sous la pression je vais peut-être changer d'avis.

giyome a écrit :- de même, pourquoi choisir les colonnes d'affichages de la liste dans les préfs et pas plutot directement par un petit menu directement accessible dans le coin de la table? En fait, tu trouveras l'exemple exact ici : http://www.objective-cocoa.org/index.php?p=ressource_detail&id=12&PHPSESSID=cc991dc5f19594e0562df7296504b0e4


ouais, pourquoi pas... je n'avais pas pensé à faire ça comme ça, c'est pas une mauvaise idée.

giyome a écrit :MAIS LE PLUS GRAVE, c'est que ton appli a plein de fuite mémoire du à des variables que tu ne désalloue pas (malloc) et ça c'est grave car :
- tu pollues le systeme et sature la mémoire
- ton logiciel plantera inévitablement au bout d'un moment

Avec MallocDebug, tu démarres avec 65ko de mal alloué, puis dés que j'utilise ça fait 100ko, 172ko ... donc rapidement des mégas :(

Utilises MallocDebug pour repérer les fuites et corrigez ton code ;)


en fait je ne devrait pas m'occuper de ça car tout est programmé en Java et la garbage collector devrait se charger de désallouer. Du coup, ça devient très délicat de le faire soit même.

Mais bon, je vais voir ça.


Publié : 10.03.2006 - 12h01 par giyome

Pour les préfs, tu as toujours la possiblité de laisser à l'utilisateur un bouton "Par défaut" qui remet les préfs dans leur état mais c'est vrai que si je fais un certains nombre de choix, que je me plante et que j'étais parti d'un choix personnalisé... alors annuler est plus pratique ;)

Bref, c'est un choix, j'avoue que le deuxième cas me parait plus rare mais je respecte ton choix car c'est pas tellement essentiel ce genre de truc ;)

Concernant la mémoire, effectivement si tu es en Java normalement tu n'as pas à t'en préoccuper. D'ailleurs l'outil mallocDebug se trompe peut-être (je ne sais pas s'il est fait pour l'obj-c uniquement ou obj-c et Java) en se faisant bluffer par le garbage collector. Mais bon, à vérifier qd même ;)

Dès que j'ai un peu de temps je testerai davantage en profondeur ton appli si cela présente un intérêt pour toi ;)


Publié : 10.03.2006 - 13h45 par Fabien

giyome a écrit :Pour les préfs, tu as toujours la possiblité de laisser à l'utilisateur un bouton "Par défaut" qui remet les préfs dans leur état mais c'est vrai que si je fais un certains nombre de choix, que je me plante et que j'étais parti d'un choix personnalisé... alors annuler est plus pratique ;)

Bref, c'est un choix, j'avoue que le deuxième cas me parait plus rare mais je respecte ton choix car c'est pas tellement essentiel ce genre de truc ;)

Concernant la mémoire, effectivement si tu es en Java normalement tu n'as pas à t'en préoccuper. D'ailleurs l'outil mallocDebug se trompe peut-être (je ne sais pas s'il est fait pour l'obj-c uniquement ou obj-c et Java) en se faisant bluffer par le garbage collector. Mais bon, à vérifier qd même ;)

Dès que j'ai un peu de temps je testerai davantage en profondeur ton appli si cela présente un intérêt pour toi ;)


merci beaucoup de ton intérêt. Tout commentaire est bien évidemment le bienvenu !


Publié : 30.09.2006 - 16h04 par K-leb

K-leb, ta requête a presque été implémentée. En fait tu devras fonctionner en deux fois:

1. remettre le verso dans l'ordre croissant.
2- utiliser l'outil "Interfolier" pour mêler les documents R et V.


Désolé de ne réagir que maintenant. Vu que je n'avais pas reçu de notification de réponse, j'avais un peu oublié ce post... j'ai depuis fait un applescript pour faire ce que je proposais... voici pour info:

Code : Tout sélectionner

--Permet de combiner deux fichiers pdf issu d'un fichier recto-verso
on run
   --Selection des deux fichiers pdf
   set doc1 to choose file with prompt "Sélectionnez le premier fichier PDF (pages impaires) " default location ((file "OSX:private:tmp:") as alias) without multiple selections allowed and invisibles
   set doc2 to choose file with prompt "Choisissez le deuxième fichier PDF (pages paires)" without multiple selections allowed and invisibles
   -- DEVEL: essayez of type {"PDF"}
   --Séléction du fichier résultat
   set sortie to choose file name with prompt "Choisissez un dossier pour enregistrer le nouveau fichier" default name "document.pdf"
   
   set temp to display dialog "nbre de page?" default answer ""
   set nbre to text returned of temp
   set nbre to nbre as number
   -- display dialog nbre
   --prépare la liste des pages (A1 B4 A2 B3...)
   set pages to do shell script "a=1; op=\"\"; while [ $a -le " & nbre & " ]; do b=$((" & nbre & " -$a+1)); op=\"$op A$a B$b \"; a=$(($a+1)); done; echo $op"
   -- display dialog pages
   --exécute le bon script avec pdftk
   do shell script "/usr/local/bin/pdftk A=" & POSIX path of (doc1) & " B=" & POSIX path of (doc2) & " cat " & pages & "  output " & POSIX path of (sortie)
   -- end tell
   display dialog "Le fichier " & sortie & " a été crée."
end run


je précise que c'est adapté à mon scanner et nécessite donc une adaptation pour chacun. De plus, j'avais une solution pour lire le nbre de pages d'un pdf mais cela ne marchait plus (problème de mon scanner probablement) et je dois donc le rentré à la main... Mais une solution existe pour les pdf correctement fait.

Cela utilise pdftk...