Nous sommes le Mer 25 Juin, 2025 13:48
Supprimer les cookies

Impression PDF avec support CMJN

Pour une tâche précise, pour remplacer un logiciel propriétaire donné...

Jeu 22 Oct, 2009 00:08

Bonjour,

je souhaite créer un webservice prenant en entrée un fichier html et retournant un PDF de la page HTML, ceci afin de raccourcir les temps de développement pour une sortie PDF (vu que je connais déjà HTML / CSS).

J'ai trouvé une solution quasiment clé en main sur le site d'Artisan Numérique en passant par un Firefox que l'on appelle en ligne de commande et l'ajout d'un add-on (Command line print). Cela fonctionne à merveille.

Mais dans certains cas, je dois sortir un PDF avec des images au format CMJN et non RVB. Or si Firefox arrive sans problème à afficher les images dans ce format, lors de l'impression au format PDF ou PS, les images sont automatiquement converties en RVB (un "identify -verbose mon_fichier.pdf" me le confirme). D'après mes recherches, ce serait cairo qui serait à l'origine du phénomène car convertissant automatiquement les images CMJN en RVB.

Étant donné que Firefox sait afficher le SVG et que lors de l'impression en PDF ou PS le format vectoriel est conservé, je me suis dit que je pourrais transformer mes images en SVG pour les imprimer. Mais même si la norme SVG indique que l'on peut utiliser le CMJN, tous mes essais se sont soldés par des échecs.

Le site d'Artisan Numérique évoque également la possibilité de passer par webkit avec un outil déjà prêt (wkhtmltopdf). Mais outre le fait que le rendu est nettement moins bon qu'avec Firefox, d'après ce que j'ai pu lire, le problème est le même : pas de support CMJN.

D'où ma question : connaissez vous une imprimante PDF (ou PS) que l'on pourrez connecter sur un Firefox afin de l'appeler en ligne de commande et supportant le CMJN. Cela devrait fonctionner dans un environnement GNU/Linux.

Bien entendu, si vous avez d'autres bonnes idées (html2pdf n'étant pas une bonne idée :-) ) pour réaliser cela, elles sont les bienvenues.

Cordialement,
Léviathan
Tous les propos n'appartiennent qu'à leur auteur et n'engagent personne d'autre.
La liberté ne peut être que toute la liberté ; un morceau de liberté n'est pas la liberté. (Max Stirner), donc 4 CC sur 6 ne sont pas libres :-)
leviathan

Avatar de l’utilisateur
Messages : 1415

Dim 01 Nov, 2009 14:41

Ah waouah, ça ne semble pas gagné... Est-ce que les images présentes sur ta page html sont déjà en CMJN? Ça me paraît bizarre, le jpeg par défaut étant en RVB, non?

À vrai dire, le seul programme que je connaisse et qui fabrique simplement du PDF en CMJN (y compris en partant d'images RVB) c'est Scribus. Mais pour pouvoir le brancher sur Firefox, ça me paraît assez coton. Note bien qu'il est complètement scriptable, et qu'il importe des fichiers PS sans soucis. Est-ce que ça marche en ligne de commande, alors là je n'en sais rien...

Une petite question: quel intérêt d'avoir un PDF en CMJN? Logiquement, c'est pour de l'impression en quadri, or comme de toutes façons tu pars de RVB ton résultat quadri sera forcément bricolé (entendre par là que les couleurs sont réinterprétées). Or quel imprimeur imprimant en quadri ne dispose pas, au niveau de son RIP, d'une conversion RVB->CMJN? ESt-ce que ta solution n'est pas plutôt de ce côté? D'une conversion postérieure?

Bon courage en tout cas.
bengale2005

Messages : 339
Géo : www.le-tigre.net

Dim 01 Nov, 2009 21:19

Bonjour bengale2005,

mes images sont effectivement en CMJN (je me base sur cette image pour mon test) mais je n'ai aucune idée si le résultat affiché n'est pas transformé par Firefox au final.

L'intérêt de pouvoir sortir du CMJN si mon image est au départ CMJN : pouvoir apporter le PDF chez un imprimeur sans justement devoir le transformer et donc respecter les couleurs d'origine.

Pour scribus, j'avais vu qu'il supportait le CMJN, mais je n'ai pas encore pris le temps de me pencher dessus. Je crois que je vais chercher dans cette direction.

Au passage, lors de mon premier message, j'évoquais la possibilité de passer par wkhtmltopdf, mais après avoir lu le code source de Qt, il s'avère qu'il ne gère pas les images CMJN et qu'elles sont donc automatiquement transformées en RVB
Tous les propos n'appartiennent qu'à leur auteur et n'engagent personne d'autre.
La liberté ne peut être que toute la liberté ; un morceau de liberté n'est pas la liberté. (Max Stirner), donc 4 CC sur 6 ne sont pas libres :-)
leviathan

Avatar de l’utilisateur
Messages : 1415

Lun 02 Nov, 2009 01:07

Pour que je comprenne bien: tu as des images en CMJN, elles sont incorporées dans un document html (et peu importe en effet que Firefox ne les affiche qu'en RVB), et tu veux générer automatiquement un PDF qui respecte le CMJN de départ? (J'imagine que la contrainte qui paraît la plus improbable, à savoir générer du PDF à partir de html et pas d'autre chose, est non discutable... j'avoue que je ne comprends pas dans quelle chaîne logique tu as besoin d'avoir une quadrichromie parfaitement respectée alors que tu génères des PDF à partir de html, ce qui signifie, pour le moins, que la perfection de la mise en page n'est pas la priorité - puisqu'on est dans quelque chose d'automatisé - à partir de là, vu que le glissement RVB->CMJN va être invisible à 98%* des lecteurs, je ne suis pas convaincu... désolé si j'insiste, mais le problème me paraît étonnant en tant que tel.)

Sinon il y a peut-être une piste via Latex? Voir aussi La poule coucou (ou quelque chose comme ça) dont on avait parlé sur ce forum il y a un bail, et qui glisse de html vers pdf, peut-être en conservant le CMJN.

* Je parle d'expérience. Pour un numéro du Tigre, je m'étais planté dans mon export PDF, qui était en RVB au lieu de CMJN. L'imprimeur me l'a converti, et ça n'a posé aucun problème.
bengale2005

Messages : 339
Géo : www.le-tigre.net

Lun 02 Nov, 2009 23:19

bengale2005 a écrit:Voir aussi La poule coucou (ou quelque chose comme ça)

:D
C'est La poule Ou l'œuf .
Quand tout le reste a échoué, lisez le mode d'emploi.
yostral

Avatar de l’utilisateur
Messages : 5403
Géo : Là-haut dans la montagne...

Mar 03 Nov, 2009 00:19

bengale2005 a écrit:Pour que je comprenne bien: tu as des images en CMJN, elles sont incorporées dans un document html (et peu importe en effet que Firefox ne les affiche qu'en RVB), et tu veux générer automatiquement un PDF qui respecte le CMJN de départ?

C'est exactement ça.

bengale2005 a écrit:(J'imagine que la contrainte qui paraît la plus improbable, à savoir générer du PDF à partir de html et pas d'autre chose, est non discutable...

Oui, c'est non discutable car sinon je part sur un développement avec une bibliothèque purement dédié aux PDF mais cela demande un développement beaucoup plus lourd vu qu'il faut que j'apprenne à utiliser la bibliothèque alors que je connais bien le HTML/CSS.

bengale2005 a écrit:j'avoue que je ne comprends pas dans quelle chaîne logique tu as besoin d'avoir une quadrichromie parfaitement respectée alors que tu génères des PDF à partir de html, ce qui signifie, pour le moins, que la perfection de la mise en page n'est pas la priorité - puisqu'on est dans quelque chose d'automatisé - à partir de là, vu que le glissement RVB->CMJN va être invisible à 98%* des lecteurs, je ne suis pas convaincu... désolé si j'insiste, mais le problème me paraît étonnant en tant que tel.)

Le CMJN ne représentera qu'une part infime de la production faite par le webservice mais je dois le gérer. Après si la solution HTML + CMJN ne convient pas parfaitement à la personne qui utilisera le webservice, alors il faudra qu'il trouve une autre solution

bengale2005 a écrit:Sinon il y a peut-être une piste via Latex? Voir aussi La poule coucou (ou quelque chose comme ça) dont on avait parlé sur ce forum il y a un bail, et qui glisse de html vers pdf, peut-être en conservant le CMJN.

C'est vrai que j'avais oublié La poule ou l'œuf. Clairement le problème avec Latex est le même qu'avec une utilisation d'une bibliothèque dédiée au PDF (trop long à mettre en place), mais avec le moteur de La poule ou l'œuf, c'est peut-être gérable.

Merci beaucoup pour tous ces retours !


Cordialement,
Léviathan
Tous les propos n'appartiennent qu'à leur auteur et n'engagent personne d'autre.
La liberté ne peut être que toute la liberté ; un morceau de liberté n'est pas la liberté. (Max Stirner), donc 4 CC sur 6 ne sont pas libres :-)
leviathan

Avatar de l’utilisateur
Messages : 1415

Mar 03 Nov, 2009 18:29

Peut-être que je réponds à côté, mais as-tu envisagé de générer tes fichiers PDf avec un langage de script ?
Sithran

Messages : 3

Mar 03 Nov, 2009 20:32

Bonjour,

Sithran a écrit:Peut-être que je réponds à côté, mais as-tu envisagé de générer tes fichiers PDf avec un langage de script ?


le fait de partir sur un langage de script avec une bibliothèque PDF m'obligerait à faire des développement plus lourd à chaque fois que je veux un PDF alors que je connais bien HTML/CSS, c'est pourquoi je cherche à mettre en place un webservice prenant un fichier HTML comme entrée.
Actuellement, lorsque je veux un PDF, je développement quelque chose de spécifique avec une bibliothèque PDF et c'est beaucoup plus long que si je faisais un fichier HTML simple.

Cordialement,
Léviathan
Tous les propos n'appartiennent qu'à leur auteur et n'engagent personne d'autre.
La liberté ne peut être que toute la liberté ; un morceau de liberté n'est pas la liberté. (Max Stirner), donc 4 CC sur 6 ne sont pas libres :-)
leviathan

Avatar de l’utilisateur
Messages : 1415

Mer 04 Nov, 2009 01:35

Une génération automatique de PDF en PHP/Python, ce n'est pas non plus la mer à vboire, avec une bonne doc', on code ça en 20 minutes et le problème est définitivement réglé. D'autant que les webservices ne sont pas compatibles avec tous les navigateurs.
Sithran

Messages : 3

Mer 04 Nov, 2009 12:27

Sithran a écrit:Une génération automatique de PDF en PHP/Python, ce n'est pas non plus la mer à vboire, avec une bonne doc', on code ça en 20 minutes et le problème est définitivement réglé.

Je code actuellement mes PDF avec PHP, je sais très bien ce que représente le travail nécessaire. Et s'il est facile et rapide de faire un PDF très simple, c'est autre chose dès que l'on rentre dans un PDF plus complexe.
De plus, non, le problème ne sera pas réglé définitivement car je devrais re-coder à chaque fois que je devrais faire un nouveau style de PDF.

Si je cherche à faire un webservice c'est que j'ai un intérêt. Je connais le temps que je met à faire un PDF avec une bibliothèque PDF et le temps que je met à faire un fichier HTML.

Sithran a écrit:D'autant que les webservices ne sont pas compatibles avec tous les navigateurs.

Gniii! Tu as été chercher ça où ?
D'une part le webservice est appelé non pas par un navigateur mais par un programme. D'autre part même si le webservice pouvait être appelé via le navigateur, le fait est qu'il prend un fichier en entrée et sort un fichier, le navigateur n'a strictement rien à voir là dedans.
Tous les propos n'appartiennent qu'à leur auteur et n'engagent personne d'autre.
La liberté ne peut être que toute la liberté ; un morceau de liberté n'est pas la liberté. (Max Stirner), donc 4 CC sur 6 ne sont pas libres :-)
leviathan

Avatar de l’utilisateur
Messages : 1415

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit