Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 9 sur 9
  1. #1
    Membre habitué

    Inscrit en
    février 2004
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : février 2004
    Messages : 343
    Points : 148
    Points
    148

    Par défaut convertir 100000 documents works (traitement de texte) en PDF



    j'espère que je poste au bon endroit...

    une question qui rejoint ce que j'ai vu sur http://www.developpez.net/forums/d82...dpad-vers-pdf/

    je ne suis pas très familier de la programmation de windows spécifiquement. plutot linux.

    on m'interroge sur une solution technique simple et rapide pour convertir un legacy d'environ 100000 fichiers traitement de texte sous Works issus du début 90s créés avec des versions de Works sous DOS et Win3.1

    ==> il faut convertir tout ca dans un format plus rassurant pour l'avenir, je pense notamment à du PDF.

    si MS Works peut imprimer à la ligne de commande, alors c'est pour ainsi dire "facile" avec un .bat ou power shell un peu poussé je suppose.

    si comme je le crains MS Works ne peut pas imprimer à la ligne de commande, alors il va falloir programmer une sorte de robot qui va ouvrir les fichiers dans works un par un, puis envoyer sur l'imprimante pdf (ex: doPDF, PDFCreator, etc)

    j'ai entendu parler de AutoIT pour automatiser tt ca. C'est bien ca ? il y a autre chose ? qqn a une idée ?


    merci

  2. #2
    Rédacteur


    Inscrit en
    janvier 2003
    Messages
    6 357
    Détails du profil
    Informations forums :
    Inscription : janvier 2003
    Messages : 6 357
    Points : 12 752
    Points
    12 752

    Par défaut

    Salut,
    Citation Envoyé par fourchette
    ==> il faut convertir tout ca dans un format plus rassurant pour l'avenir, je pense notamment à du PDF.
    Dans le domaine de l'informatique la notion d'avenir est trés relative.
    Citation Envoyé par fourchette
    si comme je le crains MS Works ne peut pas imprimer à la ligne de commande
    Vérifie dans la base de registre, si le verbe "Print" est géré pour le type de document .Wks :
    [HKEY_CLASSES_ROOT\Word.Document.8\shell\Print\command]
    @="\"C:\\Program Files\\Microsoft Office\\OFFICE11\\WINWORD.EXE\" /x /n /dde"

  3. #3
    Membre habitué

    Inscrit en
    février 2004
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : février 2004
    Messages : 343
    Points : 148
    Points
    148

    Par défaut

    Citation Envoyé par Laurent Dardenne Voir le message
    Salut,

    Dans le domaine de l'informatique la notion d'avenir est trés relative.
    ==> tout à fait d'accord

    Citation Envoyé par Laurent Dardenne Voir le message
    Vérifie dans la base de registre, si le verbe "Print" est géré pour le type de document .Wks :

    Vérifie dans la base de registre, si le verbe "Print" est géré pour le type de document .Wks :
    Citation:
    [HKEY_CLASSES_ROOT\Word.Document.8\shell\Print\command]
    @="\"C:\\Program Files\\Microsoft Office\\OFFICE11\\WINWORD.EXE\" /x /n /dde"
    euh là... très franchement je n'ai jms utilisé en programmation la base de registre. et je ne sais pas si ms word va me lire un document ms works (à tester au passage).

    qu'est-ce que tu veux dire par là ?

  4. #4
    Membre habitué

    Inscrit en
    février 2004
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : février 2004
    Messages : 343
    Points : 148
    Points
    148

    Par défaut

    au passage, au fil de mes recherches, je tombe sur


    PDFCreator Help

    Command Line Parameters
    [...]

    /PF<filename>
    Print a file with the standard program linking with the extension of the file. In general, this option is useful in connection with Auto-Save mode. It is not possible to use this parameter in conjunction with the /OF parameter. There is NO space between the parameter and the file name.
    Example: pdfcreator.exe /PF"C:help.doc"
    You can also use wildcards to create PDF's of all documents in a specified folder.
    Example: pdfcreator.exe /PF"C:*.doc"
    je tiens peut-etre la solution avec ca.
    (source = http://www.downloadatoz.com/manual/p...ommandline.htm)

    s'il s'agit de faire un one liner à la

    pdfcreator.exe /PF"c:\rapport*.wks"

    ca va etre les doigts dans le nez ! (trop facile pour etre honnete je dirais...)

    qqn a testé ?

  5. #5
    Inactif
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    octobre 2004
    Messages
    3 894
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : octobre 2004
    Messages : 3 894
    Points : 4 365
    Points
    4 365

    Par défaut

    C'est justement ce que te demandais Laurent : si la clé en base de registre n'existe pas, alors il n'y a pas de commande DDE associée aux fichiers WKS et tu l'as dans l'os.

    Autre solution, quasi-universelle :
    • Générer la liste des fichiers à convertir, full-path (trivial en batch).
    • Importer cette liste dans Excel.
    • Au choix :
      • Piloter, par macro VBA, la conversion du fichier par Word et sa sauvegarde dans un format correct (ex : le format courant du Word que tu utilises, un format XML, RTF, etc.).
      • Imprimer directement en PDF / XPS.
    • Si tu as choisi la conversion par Word, plus qu'à balancer ça à PDFCreator ensuite.
    Il est probable que le filtre d'importation Works ne soit pas installé par défaut dans Word, mais le CD d'installation te corrigera ça très vite.

    Toutefois, le souci avec le PDF (et le XPS aussi d'ailleurs), c'est que les fichiers ne sont pas modifiables. En cas d'évolution ultérieure (correction de bug découvert des années après, évolution demandée par le client, etc.), vous êtes bons pour tout vous retaper à la main.

    Vu les assez faibles possibilités de formatage de Works, j'aurais une très nette tendance à préférer un format de type RTF, ou même à passer la moulinette de conversion à chaque changement de version d'Office pouvant casser les importations (suppression des modules de conversion trop anciens notamment).


    EDIT : Dans tous les cas, vérifier TRÈS ATTENTIVEMENT quelques conversions manuellement afin d'être certain que tout se passe bien. Vérifie notamment des documents avec et sans dessins, images, tableaux, etc. afin de couvrir (presque) tous les cas de figure possibles.

  6. #6
    Rédacteur


    Inscrit en
    janvier 2003
    Messages
    6 357
    Détails du profil
    Informations forums :
    Inscription : janvier 2003
    Messages : 6 357
    Points : 12 752
    Points
    12 752

    Par défaut

    Citation Envoyé par fourchette
    euh là... très franchement je n'ai jms utilisé en programmation la base de registre. et je ne sais pas si ms word va me lire un document ms works (à tester au passage).
    Je t'ai donné un exemple, mais c'est vrai que je ne l'ai pas précisé.
    Aider, c'est à dire répondre, c'est un choix, soit je prend le temps de répondre et le demandeur n'a à rien à faire (même pas dire merci), soit je laisse au demandeur une part de travail. De part mon expérience des forums ici ou ailleurs, je tend à choisir cette dernière option.
    Citation Envoyé par fourchette
    ca va etre les doigts dans le nez ! (trop facile pour etre honnete je dirais...)
    Oui, je confirme. Personnellement j'ai qq difficultés à saisir du code quand j'ai les doigts dans le nez
    Chez moi cette facilité est plutot une alerte.
    Citation Envoyé par Mac LAK
    et tu l'as dans l'os.
    Ouais, et c'est pas facile de rentrer dans de l'os


    Citation Envoyé par Mac LAK
    • Importer cette liste dans Excel.
    Mac Lak, là tu sors Excel de ton châpeau, je me trompe ?

  7. #7
    Inactif
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    octobre 2004
    Messages
    3 894
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : octobre 2004
    Messages : 3 894
    Points : 4 365
    Points
    4 365

    Par défaut

    Citation Envoyé par Laurent Dardenne Voir le message
    Mac Lak, là tu sors Excel de ton châpeau, je me trompe ?
    Nan, tu ne te trompes pas. Je trouve Office bien plus pratique et facile à piloter depuis Excel que depuis n'importe quelle autre application VBA, j'aurais même tendance à dire que c'est "LA" solution à prendre lorsque l'on doit automatiser lourdement sous Office.
    Itérer sur 100.000 noms de fichiers depuis Excel, importés depuis un fichier texte, c'est trivial. Sous Word, ça va déjà être nettement moins festif...

  8. #8
    Membre habitué

    Inscrit en
    février 2004
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : février 2004
    Messages : 343
    Points : 148
    Points
    148

    Par défaut

    finalement, encore plus simple : pas de script, pas de VB, pas de commande one liner

    1. on installe une imprimante pdf et on paramètre les options pour le nom de fichier généré basé sur le nom de fichier original + le répertoire par défaut où poser les fichiers générés
    2. dans le "c:\users\mon_user\send to" placer un raccourci vers l'imprimante pdf
    3. on sélectionne les fichiers dans l'explorateur de fichiers windows
    4. dans ce menu, choisir "envoyer vers", puis choisir le raccourci ainsi créé

    je n'ai pas encore pu tenter la feinte mais ca me vient de qqn qui l'a déjà fait plusieurs fois donc ca devrait passer je suppose.

    je mettrai ici si j'ai des soucis avec ca finalement

  9. #9
    Membre habitué

    Inscrit en
    février 2004
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : février 2004
    Messages : 343
    Points : 148
    Points
    148

    Par défaut

    au fait, +1 pour mac lak dont je partage totalement l'avis à propos d'excel et de l'automatisation sous office

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •