Auteur Sujet:  Help : créer un menu pour fusionner des pdf  (Lu 1750 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Romain AUTEUR

Help : créer un menu pour fusionner des pdf
« le: 05/06/21 à 11:38 »
Hello les coccinautes

Je bosse beaucoup avec des fichiers pdf, et je me suis fait un mini script pour fusionner tout ceux d'un répertoire.
Code: Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
@echo off
set PATH=%PATH%;"D:\Cloud\OneDrive - etu.univ-lyon1.fr\PortableApps\_AutreApps\PDF"
echo. & echo ==== Fusion des PDF ====
pdftk "*.pdf" cat output "FUSION.pdf"

Ca marche super bien, mais ça m'oblige à copier le script dans chaque répertoire.
Du coup, je voudrais profiter du coccikit et du menu personnel pour intégrer ça dans le clic droit, afin de pouvoir fusionner directement tout les pdf d'un répertoire.

Par contre, j'avoue que je ne sais pas du tout comment m'y prendre. Y aurait il une âme charitable pour m'aider dans cette démarche ?
Merci d'avance, bisous à tous
  
  

Hors ligne Coccinelle

  • Administrateur
  • *
  • Offre-moi un chocolat bien chaud
Re : Help : créer un menu pour fusionner des pdf
« Réponse #1 le: 05/06/21 à 12:06 »
Dernière modification : 05/06/21 à 12:15 par Coccinelle
Faut que tu partages ton truc en deux parties :

1
- Intégration dans le menu contextuel de ton option Fusionner les PDF, que tu feras apparaître quand tu sélectionneras un dossier, ou alors à l'intérieur dudit dossier.

2
- Le script batch qui va récupérer le chemin du dossier en cours et fusionnera tous les PDF présents.

Pour la partie 1


Code: Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
SET CLSID=HKCR\Directory\shell
REG ADD "%CLSID%\fusionnerPDF" /V "MUIVerb" /D "Fusionner les PDF présents dans ce dossier" /f
REG ADD "%CLSID%\fusionnerPDF\command" /V "" /D "<chemin vers ton script batch>" \"%%V\"" /f

SET CLSID=HKCR\Directory\Background\shell
REG ADD "%CLSID%\fusionnerPDF" /V "MUIVerb" /D "Fusionner les PDF présents dans ce dossier" /f
REG ADD "%CLSID%\fusionnerPDF\command" /V "" /D "<chemin vers ton script batch>" \"%%V\"" /f

Pour la partie 2


Tu dois récupérer le chemin dossier sélectionné avec la variable %1 en début de script. Ensuite tu modèle ton script pour que ton application attrape les PDF présents dans ce dossier source.

Voilà pour les grandes lignes.
  
  
Une communauté sympa sans réseau social, avec juste une :bulletminicoc: aux commandes ? Si, c'est possible ! :D

Hors ligne Romain AUTEUR

Re : Help : créer un menu pour fusionner des pdf
« Réponse #2 le: 05/06/21 à 13:45 »
Merci pour les infos.
La partie 2 fonctionne, ca marche quand je fais glisser un répertoire sur le bat.

Pour la partie 1, c'est un autre script à faire, ou c'est à mettre dans le module_install.vbs du coccikit ?
  
  

Hors ligne Coccinelle

  • Administrateur
  • *
  • Offre-moi un chocolat bien chaud
Re : Help : créer un menu pour fusionner des pdf
« Réponse #3 le: 05/06/21 à 13:52 »
Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
Pour la partie 1, c'est un autre script à faire, ou c'est à mettre dans le module_install.vbs du coccikit ?


(module_install.vbs n'existe pas :) )
Ton script principal existe déjà puisque tu dis qu'il fonctionne.
Donc, ce script à toi, tout comme les informations de registre, tu dois ensuite placer tout ça dans le dossier PERSONNEL. TU auras donc deux scripts au final, pas plus.
Toutes les explications sur la création d'un module PERSONNEL sont détaillées ici : Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
  
  

Hors ligne Romain AUTEUR

Re : Help : créer un menu pour fusionner des pdf
« Réponse #4 le: 05/06/21 à 14:11 »
heu si, j'ai supprimé/recréé le module personnel, et j'ai bien les fichiers module_installe.vbs & module_desinstalle.vbs
Je regarde le post sur le forum, et je cri au secours si je ne m'en sors pas
  
  

Hors ligne Romain AUTEUR

Re : Help : créer un menu pour fusionner des pdf
« Réponse #5 le: 05/06/21 à 14:21 »
Dernière modification : 05/06/21 à 14:26 par Romain
encore help  ;D

J'ai créé un fichier PERSONNEL.cmd dans le module PERSONNEL, avec dedans :
Code: Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
@ECHO OFF
CHCP 1252
cd /d %~dp0

SET NOM=CONVERT_DOCX_to_PDF
set ACTION=%1
SET CHEMIN_OUTILS=%~dp0%NOM%
IF "%ACTION%" == "INSTALLER" goto :installer
IF "%ACTION%" == "DESINSTALLER" goto :desinstaller
EXIT

:installer
:: <---------------- ICI COMMENCE LA PARTIE À PERSONNALISER POUR *INSTALLER* VOTRE MODULE ---------------->
MsgBox "Install CONVERT_DOCX_to_PDF",vbOKOnly+vbInformation+vbSystemModal,"Module PERSONNEL"

SET CLSID=HKCR\Directory\shell
REG ADD "%CLSID%\fusionnerPDF" /V "MUIVerb" /D "Fusionner les PDF présents dans ce dossier" /f
REG ADD "%CLSID%\fusionnerPDF\command" /V "" /D "D:\Cloud\OneDrive - etu.univ-lyon1.fr\PortableApps\_AutreApps\PDF\FUSION PDF.bat" \"%%V\"" /f

SET CLSID=HKCR\Directory\Background\shell
REG ADD "%CLSID%\fusionnerPDF" /V "MUIVerb" /D "Fusionner les PDF présents dans ce dossier" /f
REG ADD "%CLSID%\fusionnerPDF\command" /V "" /D "D:\Cloud\OneDrive - etu.univ-lyon1.fr\PortableApps\_AutreApps\PDF\FUSION PDF.bat" \"%%V\"" /f
:: <----------------- ICI SE TERMINE LA PARTIE À PERSONNALISER POUR *INSTALLER* VOTRE MODULE ----------------->

ECHO >%NOM%_INSTALLE
DEL PROGRESSION
EXIT


:desinstaller
:: <----------------- ICI COMMENCE LA PARTIE À PERSONNALISER POUR *DESINSTALLER* VOTRE MODULE ----------------->
MsgBox "Uninstall CONVERT_DOCX_to_PDF",vbOKOnly+vbInformation+vbSystemModal,"Module PERSONNEL"

:: <---------------- ICI SE TERMINE LA PARTIE À PERSONNALISER POUR *DESINSTALLER* VOTRE MODULE ---------------->

DEL /F /Q %NOM%_INSTALLE
DEL PROGRESSION
EXIT

Ca n'a pas l'air de marcher, quand j'installe ou que je désinstalle le module, je n'ai même pas les msgbox d'install/uninstall.
J'ai essayé aussi de renommer ça en vbs, bat, ..., sans succès.

Tu as moyen de créé un fichier d'exemple dans ce module personnel, pour par exemple créer un menu "mon_menu_perso" qui lance le bloc note et la calculatrice ? Perso, ça m'aiderait énormément pour créer ensuite mes propres trucs. Mais là, je suis frustré de voir le potentiel du système sans pouvoir l'utiliser  :'( :'(
  
  

Hors ligne Coccinelle

  • Administrateur
  • *
  • Offre-moi un chocolat bien chaud
Re : Help : créer un menu pour fusionner des pdf
« Réponse #6 le: 05/06/21 à 14:26 »
Dernière modification : 05/06/21 à 14:39 par Coccinelle
Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
Tu as moyen de créé un fichier d'exemple dans ce module personnel
Je vais te créer ce module PERSONNEL pour répondre à ton cas bien précis. Le temps de terminer ce que j'ai en cours. Est-ce que pdftk est aussi en version portable afin d'accéder à l'exécutable pdftk  que tu utilises ?

Sinon je viens de mettre à jour le cocci-kit. Tu devrais normalement avoir accès à toutes les voix. Confirme-moi ça.
  
  

Hors ligne Romain AUTEUR

Re : Help : créer un menu pour fusionner des pdf
« Réponse #7 le: 05/06/21 à 14:32 »
Dernière modification : 05/06/21 à 14:36 par Romain
t'es trop un amour
Par contre, non, toujours pas de voix. Je fais la màj et je te dit.

Pour pdftk, c'est un exécutable qui est dans la suite portableapps. L'install est dispo gratuitement sur le site de l'éditeur, mais je t'ai mis le fichier sur mon ftp : Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
  
  

Hors ligne Romain AUTEUR

Re : Help : créer un menu pour fusionner des pdf
« Réponse #8 le: 05/06/21 à 15:11 »
et pour info, quand on installe le module personnel, le popup dit que les instructions sont consultables dans le fichier "PERSONNEL_instructions.cmd" alors qu'il n'existe pas.
  
  

Hors ligne Coccinelle

  • Administrateur
  • *
  • Offre-moi un chocolat bien chaud
Re : Help : créer un menu pour fusionner des pdf
« Réponse #9 le: 05/06/21 à 15:29 »
Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
et pour info, quand on installe le module personnel, le popup dit que les instructions sont consultables dans le fichier "PERSONNEL_instructions.cmd" alors qu'il n'existe pas.
Exact, le fichier d'instructions n'est pas DANS le dossier PERSONNEL, mais à côté de PERSONNEL.cmd. Je corrige le texte de suite.
-----------
J'ai terminé ton module personnel, je t'explique tout ça dans quelques minutes ici même
  
  

Hors ligne Coccinelle

  • Administrateur
  • *
  • Offre-moi un chocolat bien chaud
Re : Help : créer un menu pour fusionner des pdf
« Réponse #10 le: 05/06/21 à 16:03 »
Dernière modification : 05/06/21 à 16:04 par Coccinelle
Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
et pour info, quand on installe le module personnel, le popup dit que les instructions sont consultables dans le fichier "PERSONNEL_instructions.cmd" alors qu'il n'existe pas.
Exact, le fichier d'instructions n'est pas DANS le dossier PERSONNEL, mais à côté de PERSONNEL.cmd. Je corrige le texte de suite.
Mince je ne retrouve pas ton popup --- Il apparaît quand exactement ??
  
  

Hors ligne Coccinelle

  • Administrateur
  • *
  • Offre-moi un chocolat bien chaud
Re : Help : créer un menu pour fusionner des pdf
« Réponse #11 le: 05/06/21 à 16:03 »
Dernière modification : 05/06/21 à 16:07 par Coccinelle
Fusionner PDF - La soluce !


Voici donc ton module PERSONNEL qui a pour but de fusionner tous les fichiers PDF présents dans un dossier. Je te mets en pièce jointe une archive avec l'intégralité des fichiers, mais voici le détail des opérations.

Contenu du dossier PERSONNEL


fusionnerPDF.cmd : c'est le script principal, qui lancera l'exécutable chargé de fusionner les PDF
fusionnerPDF.ico : une icône dans le menu contextuel ne mange pas de pain :

pdftk.exe : l'exécutable lui-même. Récupéré dans le dossier PDFTK, Il a l'avantage d'être autonome pour fonctionner, donc c'est parfait.

Pas besoin de plus.

Script PERSONNEL.cmd


Je n'ajoute pas de commentaire, ils sont tous intégrés au script.

Dans l'archive c'est la version avec TOUS les commentaires, mais pour aérer voici une version épurée :
Code: Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
@ECHO OFF
TITLE COCCI10_MODULE_PERSONNEL
:: L'instruction ci-dessous vous permet d'utiliser librement les caractères accentués.
CHCP 1252
cd /d %~dp0

:: NOM DU MODULE
SET NOM=PERSONNEL
:: ACTION = INSTALLER ou DESINSTALLER (paramètre reçu)
set ACTION=%1
SET CHEMIN_OUTILS=%~dp0%NOM%
IF "%ACTION%" == "INSTALLER" goto :installer
IF "%ACTION%" == "DESINSTALLER" goto :desinstaller
EXIT

:installer
:: <---------------- ICI COMMENCE LA PARTIE À PERSONNALISER POUR *INSTALLER* VOTRE MODULE ---------------->

:: Affichage du compteur à 50 sur le cocci-kit tellement l'installation sera rapide
ECHO|SET /p=50>PROGRESSION
ECHO|SET /p=Ajout des options de dossiers au menu contextuel des dossiers>PROGRESSION_ELEMENT

:: Création d'une boucle afin d'afficher les mêmes informations de registre à deux endroits différents :
:: - L'option "Fusionner les PDF présents dans ce dossier" apparaît si on sélectionne un dossier
:: - L'option "Fusionner les PDF présents dans ce dossier" apparaît si on sélectionne le fond d'un dossier
SET CLSID=HKCR\Directory\shell
call :ajouterOptions
SET CLSID=HKCR\Directory\Background\shell
call :ajouterOptions

goto :fin

:ajouterOptions
REG ADD "%CLSID%\fusionnerPDF" /V "MUIVerb" /D "Fusionner les PDF présents dans ce dossier" /f
REG ADD "%CLSID%\fusionnerPDF" /V "Icon" /D "%CHEMIN_OUTILS%\fusionnerPDF.ico" /f
REG ADD "%CLSID%\fusionnerPDF\command" /V "" /D "%CHEMIN_OUTILS%\fusionnerPDF.cmd \"%%V\"" /f
:: On sort de la boucle
EXIT /B

:fin

:: Un petit temps d'attente histoire que les infos d'installation apparaissent bien sur le cocci-kit (ça rassure)
TIMEOUT 3

:: <----------------- ICI SE TERMINE LA PARTIE À PERSONNALISER POUR *INSTALLER* VOTRE MODULE ----------------->

ECHO >%NOM%_INSTALLE
DEL PROGRESSION
DEL PROGRESSION_ELEMENT
EXIT
:: FIN INSTALLATION


:desinstaller
:: <----------------- ICI COMMENCE LA PARTIE À PERSONNALISER POUR *DESINSTALLER* VOTRE MODULE ----------------->

REG DELETE "HKCR\Directory\shell\fusionnerPDF" /f
REG DELETE "HKCR\Directory\Background\shell\fusionnerPDF" /f

:: <---------------- ICI SE TERMINE LA PARTIE À PERSONNALISER POUR *DESINSTALLER* VOTRE MODULE ---------------->

DEL /F /Q %NOM%_INSTALLE
DEL PROGRESSION
EXIT
:: FIN DESINSTALLATION

Script fusionnerPDF.cmd


Ici aussi les commentaires sont intégrés :

Code: Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
:: ===============================================================================
:: FUSIONNER PDF
:: ===============================================================================

@ECHO OFF
CHCP 1252>NUL
CD /d %~dp0

:: Blanc sur vert
color 2f

SET dossier=%1
:: Suppression des guillemets dans la variable de commande sinon on ne pourra plus ajouter le "*.pdf" à la fin du chemin du dossier
SET dossier=%dossier:"=%

:: Suppression du précédent FUSION.pdf car pdftk ne l'écrase pas mais générera une erreur
DEL /Q "%dossier%\FUSION.pdf"
:: Fuson des PDF
ECHO ===================================================
ECHO FUSION DES FICHIERS PDF présents dans le dossier :
ECHO %dossier%
ECHO ===================================================

pdftk.exe "%dossier%\*.pdf" cat output "%dossier%\FUSION.pdf"

ECHO.
ECHO FUSION Terminée (voir fichier FUSION.pdf) !
ECHO.

PAUSE

:: Ça ne sert à rien en fin de script mais j'aime bien :)
EXIT

Et voilà ! Il ne te reste plus qu'à l'installer depuis le cocci-kit.
Le meilleur pour la fin : ça fonctionne ! Testé en live sur mon PC.
  
  

Hors ligne Romain AUTEUR

Re : Help : créer un menu pour fusionner des pdf
« Réponse #12 le: 05/06/21 à 22:25 »
T'est vraiment un génie !!!
Merci, ça marche super bien.
  
1 👍🏻
  

Hors ligne Romain AUTEUR

Re : Help : créer un menu pour fusionner des pdf
« Réponse #13 le: 06/06/21 à 12:14 »
Je viens de me créer mon petit menu perso, avec tout mes outils dedans.
Je l'ai installé en 2 secondes sur mon 2nd ordi, c'est vraiment de la bombe.
 :msgmerci:
  
  

Hors ligne Coccinelle

  • Administrateur
  • *
  • Offre-moi un chocolat bien chaud
Re : Help : créer un menu pour fusionner des pdf
« Réponse #14 le: 06/06/21 à 12:46 »
Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
Je viens de me créer mon petit menu perso, avec tout mes outils dedans.
Je l'ai installé en 2 secondes sur mon 2nd ordi, c'est vraiment de la bombe.
 :msgmerci:
Ahhhhhhhhhhhhhhh je suis heureux que cela te soit utile. Le cocci-kit atteint enfin son but avant même sa sortie officielle. Demain je me prends du Champomy.
  
  

 

Merci pour ton soutien
Le point de ralliement en cas de souci de connexion