IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

pdftk extraire nom fichier inclu dans pdf factur'x


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 312
    Par défaut pdftk extraire nom fichier inclu dans pdf factur'x
    Bonjour,

    Les fichiers pdf au format factur'x (facturation électronique) sont des fichiers pdf incluant un fichier xml qui contient la description de la facture (nom, date, totaux, ...)

    pdftk est un utilitaire de manipulation de fichiers pdf permettant d'extraire le ou les fichiers inclus par la commande :

    pdftk fichier.pdf unpack_files output répertoire_destin

    Mais le problème c'est que je ne trouve pas le moyen de récupérer le nom du fichier xml extrait

    Un pdftk dump_data affiche les informations sur le pdf mais pas les noms des pièces jointes

    Un expert en batch pourrait-il me trouver une solution pour récupérer le nom du fichier extrait ?

    Un autre utilitaire, xpdf, à les exécutables pdfinfo.exe et pdfdetach.exe. Avec pdfinfo.exe on a bien la liste des nom des fichiers joints au pdf.

    Mais mon pb c'est que les versions 32 bits de pdfdetach.exe sont refusées sous windows xp, elles ne fonctionnent qu'à partir de windows 7, et j'ai un test à faire sur xp.

    Merci aux bonnes volontés.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 312
    Par défaut
    Bonjour,

    120 contributeurs on regardés ma question, si qq a besoin d'une solution je poste un code écrit en collaboration avec ChatGPT !!!

    C'est assez bluffant surtout au niveau remarques et explications.
    Il fait parfois qq erreurs ou bien change des choses d'une demande de rectification/ajout à une autre et il faut lui demander de les re-mettre.

    Et dire que l'on a aucune idée de comment il procède pour arriver au résultat !

    Ce batch ajoute le nom du fichier inclu à la fin du fichier texte des propriétés du fichier pdf.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

Discussions similaires

  1. Réponses: 5
    Dernier message: 16/07/2015, 13h50
  2. [LibreOffice][Tableur] extraire nom d'onglet dans une cellule
    Par débitant dans le forum OpenOffice & LibreOffice
    Réponses: 3
    Dernier message: 29/04/2015, 11h10
  3. Renommer un fichier inclue dans une liste
    Par Altaria dans le forum SharePoint
    Réponses: 4
    Dernier message: 20/08/2008, 17h43
  4. extraire nom fichier (opendialog)
    Par jmjmjm dans le forum Delphi
    Réponses: 3
    Dernier message: 25/05/2006, 17h52
  5. [Zip] date d'un fichier *.* inclu dans un fichier *zip
    Par doum2 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 08/03/2006, 12h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo