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 :
@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 :
:: ===============================================================================
:: 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.