Imprimer (et/ou passer en PDF) automatiquement un HTML...

HurricanHurrican Membre
01:57 modifié dans API AppKit #1
Bonjour,
J'ai un problème, et j'avoue que je ne trouve pas de solution fiable sur PC (j'en ai développé une en VB nécessitant Word, mais avec tous les problèmes que Word pose, je crois que je vais abandonner).
J'ai besoin, pour ma société, de récupérer des fichiers HTML existants sur un dossier partagé Windows, et soit de les convertir en PDF pour pouvoir les faxer/archiver, soit les envoyer sur une imprimante (variable).
N'importe quel mac est capable de sortir proprement une page HTML sur un PDF ou une imprimante, mais je ne vois pas comment je pourrais le faire et surtout l'automatiser.

Une bonne âme aurait t'elle une idée, ou mieux une solution ? :)

Réponses

  • odjauodjau Membre
    01:57 modifié #2
    J'ai pas de Mac sous la main, mais Automator est peut-être une solution, non ?
  • tabliertablier Membre
    01:57 modifié #3
    :( je n'ai pas compris: tu veux une solution sur Mac ou sur PC?
  • HurricanHurrican Membre
    01:57 modifié #4
    J'ai une solution sur PC, mais elle ne me convient pas (problèmes de fiabilité entre autre).
    Je cherche si une solution Mac serait plus viable, et surtout plus efficace. :)
  • AliGatorAliGator Membre, Modérateur
    01:57 modifié #5
    Si tu veux une solution Mac, et utiliser la "moulinette" de OSX pour créer des PDFs, un coup d'automator pour ouvrir le HTML dans Safari puis lancer "l'impression" en PDF.

    Si tu veux une solution PC, utiliser un script php de conversion HTML2PDF me semble la piste la plus adaptée (STFW y'en a sûrement qui traà®nent)
  • BruBru Membre
    01:57 modifié #6
    Alors, Mac ou PC ? Car c'est toujours pas clair !

    Sur PC, il te faut un convertisseur PDF (ils émulent une imprimante, mais génèrent un fichier PDF).
    Il y en a plusieurs, des gratuits ou non.
    L'un des meilleurs est Win2PDF (payant) : son avantage est de pouvoir préciser "à  la volée" le chemin où sera créé le pdf.
    Ensuite, dans un petit host script tu créés une instance ole de Internet Explorer pour y charger le html. Enfin tu imprimes le contenu dans cette instance vers l'imprimante PDF.

    Sur mac, il y a des milliards de solutions (qui toutes sont gratuites).
    Par exemple, tu peux développer un foundation tool (cocoa/Objc) qui utilise le webkit, puis les fonctions PDF pour générer le fichier.

    .
  • AliGatorAliGator Membre, Modérateur
    01:57 modifié #7
    Re,

    dans 1178297003:
    Sur PC, il te faut un convertisseur PDF (ils émulent une imprimante, mais génèrent un fichier PDF).
    Je n'ai jamais utilisé, donc je sais pas si c'est efficace ou pas, mais des script PHP (avec un serveur Apache, ayant un module PHP pour PDF), c'est pas plus simple ?

    See Google results
  • BruBru Membre
    01:57 modifié #8
    dans 1178299816:

    Re,

    dans 1178297003:
    Sur PC, il te faut un convertisseur PDF (ils émulent une imprimante, mais génèrent un fichier PDF).
    Je n'ai jamais utilisé, donc je sais pas si c'est efficace ou pas, mais des script PHP (avec un serveur Apache, ayant un module PHP pour PDF), c'est pas plus simple ?

    See Google results


    Euh, dis moi...
    C'est plus simple d'installer Apache, PHP, les modules qui vont bien plutôt que d'installer un driver d'imprimante PDF ?

    Car si c'est le cas, alors au boulot, on a tout faux !

    .
  • tabliertablier Membre
    01:57 modifié #9
    Sur PC, il te faut un convertisseur PDF (ils émulent une imprimante, mais génèrent un fichier PDF)


    J'ai utilisé ça sur PC, ça marche bien!  :P
  • HurricanHurrican Membre
    mai 2007 modifié #10
    Ben les convertisseurs PDF, je suis désolé, mais sur PC, j'en ai bien essayé une vingtaine (dont Win2PDF, PdfCreator, etc...), et le résultat est loin d'être probant.  :-\\
    Il faut dire que nos documents utilisent pas mal de cadres, de tableaux, etc, et on constate souvent lors de la conversion en PDF, un décalage des lignes (et un dédoublement aux intersections), ou des problèmes de coloris, de fonds, etc...

    Enfin, le seul qui fonctionne à  peu près correctement, c'est PdfCreator, à  condition d'utiliser un rendu avec Opera. Or en automatique, il ne passe pas par Opera, mais par GhostScript, et tout est par terre.  :'(


    De toute manière je le répète, la solution Windows, même si j'ai essayé, je la mets de côté. Soit je partirais sur une solution purement iSeries (notre serveur principal en est un), en investissant dans un logiciel que j'ai testé récemment mais qui sera un peu couteux, et surtout "étranger".
    Soit je partirais sur un mini dédié. Car, et je suis bien placé pour le savoir, sur mac, la conversion en PDF, est un vrai bonheur !  :P
    Ma direction, est prête à  investir dans un Mac comme "serveur d'impression et de fax", à  condition bien sûr que j'arrive à  un résultat probant et fiable.
    Sachant que ce serait le deuxième dans la société, en un an, et que plus le personnel et la direction seront familiarisés avec le mac, plus ils auront envie d'en avoir d'autres.  ;)
    La première étape est donc d'automatiser de manière fiable la conversion/impression de nos documents générés au format HTML sur le serveur iSeries. Ensuite, je passerais au problème de la connexion à  l'IFS du serveur, mais j'ai déjà  une idée pour çà .
  • 01:57 modifié #11
    Un petit pas à  pas:
    1. Installe un driver d'imprimante virtuelle, celui là  marche: http://www.codepoetry.net/projects/cups-pdf-for-mosx
    2. Ajoute l'imprimante virtuelle dans la liste des imprimantes (ce n'est pas de manière automatique
    3. Tu peux utiliser Automator pour imprimer (tu as une action "Print Finder Items" et tu spécifies dans l'action l'imprimante à  utiliser)

    Il n'y a malheureusement pas moyen de le faire facilement sans imprimante virtuelle, étant donné qu'il n'y a rien (ou plutot, je n'ai rien trouvé) dans Apple Script ou autre pour faire la chose directement.
  • HurricanHurrican Membre
    01:57 modifié #12
    Je vais donc jeter un oeil de ce côté pour commencer. ;)
    Merci. :)
Connectez-vous ou Inscrivez-vous pour répondre.