1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| @echo off
setlocal
rem Vérifier si un argument a été passé
if "%~1"=="" (
echo Vous devez spécifier un fichier PDF en paramètre.
exit /b 1
)
rem Le nom du fichier PDF en entrée
set input_pdf=%1
rem Déterminer le nom de base du fichier PDF (sans l'extension)
for %%f in ("%input_pdf%") do set base_name=%%~nf
rem Définir le nom du fichier de propriétés avec l'extension .txt
set properties_file=%base_name%.txt
rem Répertoire temporaire pour extraire les fichiers
set temp_dir=%TEMP%\pdf_attachments
rem Effacer le fichier de sortie s'il existe déjà
if exist %properties_file% del %properties_file%
rem Extraire les propriétés du PDF et les enregistrer dans le fichier texte
pdftk %input_pdf% dump_data > %properties_file%
rem Créer le répertoire temporaire
if exist %temp_dir% rd /s /q %temp_dir%
mkdir %temp_dir%
rem Utiliser pdftk pour extraire les fichiers attachés
pdftk %input_pdf% unpack_files output %temp_dir%
rem Initialiser la variable pour stocker le nom du fichier attaché
set attachment_name=
rem Lister les fichiers extraits et récupérer le nom du premier fichier
for %%f in (%temp_dir%\*) do (
set attachment_name=%%~nxf
goto :found
)
:found
if "%attachment_name%"=="" (
rem Aucun fichier attaché trouvé
echo InfoBegin >> %properties_file%
echo InfoKey: Fichier_Inclu >> %properties_file%
echo InfoValue: NO_ATTACHMENT >> %properties_file%
) else (
rem Ajouter le nom du fichier attaché au fichier des propriétés
echo InfoBegin >> %properties_file%
echo InfoKey: Fichier_Inclu >> %properties_file%
echo InfoValue: %attachment_name% >> %properties_file%
)
rem Nettoyer le répertoire temporaire
rd /s /q %temp_dir%
rem Afficher le fichier des propriétés
type %properties_file%
endlocal |
Partager