Précédent   Planet Emulation Forums > Divers > Hardware et Software

Hardware et Software Un problème de configuration ou autre ?
C'est ici que ca se passe !

Réponse
 
Outils de la discussion Modes d'affichage
Vieux 22/05/2005, 19h52   #1
NantoFirebird
Invité
 
Messages: n/a
Voilà quel est mon problème.

Le site sur lequel je bosse actuellement (en php) doit permettre la génération dynamique de pdf. Pour diverses raisons, la création DOIT se faire sur la base de conversion de pages html en pdf. J'ai trouvé pas mal de "filtres" genre html2pdf ou htmldoc qui font un travail de base honorable, mais vu la difficulté de la création de ce genre d'api, je n'ai rien trouvé qui gère les css.

Changement d'orientation donc, si y'à pas moyen de faire directement du pdf (dynamiquement hein, j'insiste là dessus) à partir de html+css, pourquoi ne pas passer par du postscript entre deux. Par exemple, serait-il possible d'utiliser Firefox en ligne de commande pour sauver une page distante en ps, puis convertir ce ps en pdf par ps2pdf ? J'ai trouvé un vague truc avec netscape, mais vu la gestion du html par celui-ci çà m'interresse pas trop ...

Bon voilà, le problème global, si quelqu'un a de quoi étoffer tout çà, merci à lui
  Réponse avec citation
Vieux 22/05/2005, 21h54   #2
Tonio
Administrateur
 
Avatar de Tonio
 
Date d'inscription: 08/2002
Localisation: Sainte-Luce sur Loire
Messages: 3 524
Tonio deviendra célèbreTonio deviendra célèbre
Envoyer un message via MSN à Tonio Envoyer un message via Skype™ à Tonio
Bah, depuis un pc, on peut convertir n'importe quoi en pdf via une double convertion -> PS -> PDF.
Tu as par exemple cutepdf qui fait a très bien ou encore pdfcreator.
Ca passe par une imprimante virtuelle.
Autrement tu peux tout faire à la mano en installant une imprimante bidon, utiliser un redirecteur de port comme Redmon, et en passant le tout dans ghostscript.
Mais là fautvraiment aimer se prendre la tête
__________________
J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone.
Mon rêve s'est réalisé: je ne sais plus comment utiliser mon téléphone (Bjarne Stroustrup, auteur du langage C++)
Tonio est déconnecté   Réponse avec citation
Vieux 22/05/2005, 22h18   #3
NantoFirebird
Invité
 
Messages: n/a
Déjà merci d'avoir répondu Tonio

Mais sinon pour cutepdf, c'est mort dans l'oeuf, le truc doit tourner sur un serveur Linux. J'ai donc pas poussé plus loin l'étude de ce soft, d'autant que j'ai pas l'impression que tu puisses diriger le truc via un script.

Pour ta seconde proposition, c'est un peu ce que j'avais en tête, mais sans la prise de tête avec imprimante virtuelle. En fait à partir du moment ou j'obtiens un ps, 80% du boulot est fait. Le noeud de mon problème se résume donc à pouvoir transformer un html en ps, mais de manière automatique, sans intervention du visiteur. En clair l'utilisateur clique sur un lien depuis son navigateur, le php appelé génère un html qui n'est pas affiché à l'écran, mais qui est transformé par une solution à déterminer en ps, ce ps est ensuite transformé en pdf qui est lui affiché à l'écran.

Si c'est plus clair comme çà ...
  Réponse avec citation
Vieux 22/05/2005, 22h23   #4
Tonio
Administrateur
 
Avatar de Tonio
 
Date d'inscription: 08/2002
Localisation: Sainte-Luce sur Loire
Messages: 3 524
Tonio deviendra célèbreTonio deviendra célèbre
Envoyer un message via MSN à Tonio Envoyer un message via Skype™ à Tonio
La convertion "sur le serveur" d'un fichier html à pdf est tout simplement impossible, car le format PDF dérivé de PS est donc un format d'impression.
Il faudrait donc rediriger le flux d'un moteur html, vers un convertisseur PS.
Ca parait difficilement faisable.
Ce que tu n'as pas compris avec cutepdf, c'est que ce sont les clients (qui possèdent un navigateur et donc un moteur html) qui convertissent directement le fichier de sortie en PDF.
Pour le faire sur le serveur, la seule solution serait éventuellement une classe qui permettrait d'écrire du pdf en direct.
Mais convertir une page html en pdf depuis le serveur, tu peux laisser tomber, c'est pas possible
__________________
J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone.
Mon rêve s'est réalisé: je ne sais plus comment utiliser mon téléphone (Bjarne Stroustrup, auteur du langage C++)
Tonio est déconnecté   Réponse avec citation
Vieux 22/05/2005, 23h18   #5
Dinofly
Président
 
Avatar de Dinofly
 
Date d'inscription: 10/2001
Messages: 6 407
Dinofly peut être fier de luiDinofly peut être fier de luiDinofly peut être fier de luiDinofly peut être fier de luiDinofly peut être fier de luiDinofly peut être fier de luiDinofly peut être fier de luiDinofly peut être fier de lui
Envoyer un message via ICQ à Dinofly
Sisi c'est possible, c'est juste un peu tordu comme bidouille

En installant un navigateur web sur le serveur et en trouvant comment lui dire d'imprimer une page directement par la ligne de commande, elle-même lancée depuis PHP.
Mais la difficulté est de trouver cette ligne de commande, a mon avis peu de navigateurs offrent cette option. Mais je pense que tu devrais plutot regarder du coté de Konqueror, il parait que les messages inter-applications fonctionnent vraiment très bien sous KDE.
__________________
http://dinofly.planetemu.net/images/president_planet_2012.png
http://forums.planetemu.net/picture.php?albumid=17&pictureid=198
Dinofly est déconnecté   Réponse avec citation
Vieux 22/05/2005, 23h21   #6
Tonio
Administrateur
 
Avatar de Tonio
 
Date d'inscription: 08/2002
Localisation: Sainte-Luce sur Loire
Messages: 3 524
Tonio deviendra célèbreTonio deviendra célèbre
Envoyer un message via MSN à Tonio Envoyer un message via Skype™ à Tonio
Je reformule...
C'est le merdier à faire sur le serveur...
Surtout que j'ai peur que ca demande l'ouverture d'une session X pour lancer le navigateur...
Parceque du lynx converti, beuuuuuuuuuuuuuuuuuuuuuuurk...
Ou alors faut garder une session kde ouverte en permanence ce qui est débile pour un serveur...
__________________
J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone.
Mon rêve s'est réalisé: je ne sais plus comment utiliser mon téléphone (Bjarne Stroustrup, auteur du langage C++)
Tonio est déconnecté   Réponse avec citation
Vieux 22/05/2005, 23h22   #7
NantoFirebird
Invité
 
Messages: n/a
Ah non non Tonio, c'est pas du tout impossible. C'est tendu, mais pas impossible. La première des deux orientations que j'avais envisagées (cf htmldoc ou html2pdf) se base sur une création de parseur html défini pour l'occas qui transforme le html en pdf. Dans cette solution il y a principalement deux pbs :
1/ Il faut définir le parseur from scratch, ce qui représente un boulot faramineux
2/ Tu peux créer du pdf sans passer par du ps, mais faut utiliser un système d'axes gradués qui n'est pas vraiment compatible avec le html, et donc çà limite la compatibilité entre les deux formats.

Pour avoir un exemple de cette philosophie, c'est ici : http://www.easysw.com/htmldoc/pdf-o-matic.php

Pour l'autre solution qui consiste à générer un ps en télécommandant un navigateur sur le serveur, puis transformer le ps avec ps2pdf, çà marche avec Netscape, mais moi je cherche avec quelque chose de mieux, Firefox notament (spéciale dédicace à Dino). Pour çà tu peux loger cette commande dans un script :
Code:
netscape -noraise -remote saveas(unepage.ps,PostScript)
Mais apparement cette fonctionnalité a été retirée dans le développement de Mozilla, d'où mon posage de question ici, en désespoir de cause ...
  Réponse avec citation
Vieux 22/05/2005, 23h24   #8
NantoFirebird
Invité
 
Messages: n/a
Ah ben voilà, faut jamais faire deux trucs en même temps, le temps que je réponde, vous avez anticipé ma réponse

Je vais regarder du côté de Konqueror alors ...
  Réponse avec citation
Vieux 25/05/2005, 02h33   #9
Tonio
Administrateur
 
Avatar de Tonio
 
Date d'inscription: 08/2002
Localisation: Sainte-Luce sur Loire
Messages: 3 524
Tonio deviendra célèbreTonio deviendra célèbre
Envoyer un message via MSN à Tonio Envoyer un message via Skype™ à Tonio
Si tu pars du principe que tu peux développer toi même le truc, alors tout est possible...
Je voulais dire que ce n'était pas vraiment possible avec une combinaison d'outils existants...
Tu peux aussi développer un serveur web qui envoie non pas du http mais du pdf:// avec le navigatur qui va bien avec si le coeur t'en chante
Et même faire l'OS qui va avec pour faire un truc léger qui marche bien, mais bon c'est pas hyper serieux lol
__________________
J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone.
Mon rêve s'est réalisé: je ne sais plus comment utiliser mon téléphone (Bjarne Stroustrup, auteur du langage C++)
Tonio est déconnecté   Réponse avec citation
Vieux 25/05/2005, 09h10   #10
NantoFirebird
Invité
 
Messages: n/a
lol, j'étais pas dans cet état d'esprit quand même !

Celà dit comme je te l'ai dit, c'est jouable avec netscape. Hier j'ai demandé l'avis des gens de Geckozone et apparement , si je reprend leurs termes, Firefox 1.1 permettra bien plus de trucs en ligne de comande. (=> )Ici pour l'info)

Maintenant je cherche du côté html=>Latex, mais je retombe sur le principe de parser custom, et donc résultat mitigé. Tant qu'il y a de la vie, y'a de l'espoir !
  Réponse avec citation
Vieux 25/05/2005, 21h44   #11
Tonio
Administrateur
 
Avatar de Tonio
 
Date d'inscription: 08/2002
Localisation: Sainte-Luce sur Loire
Messages: 3 524
Tonio deviendra célèbreTonio deviendra célèbre
Envoyer un message via MSN à Tonio Envoyer un message via Skype™ à Tonio
Mais tu fais comment pour la session X ?
Firefox ne pourra pas s'executer normalement sans X lancé (à cause que tout est GTK...), et tu vas devoir garder une session X lancée avec du export dans tous les sens, ca va bouffer des ressources de ouf...
Ce qui est faisable par contre est de trouver une classe de génération de PDF en php apr exemple, mais il faudra tout coder ton document (un peu comme ce qu'on peut faire avec la lib GD), on oublie donc l'idée de convertion dans ce cas précis...
Convertir du html en PDF avec ton idée va mettre ta machine à plat en un rien de temps.
Rien que le lancement de firefox sur un environnement GTK natif (genre gnome ou xfce) bouffe 30% du proco pendant genre 3 secondes...
A moins que la version ligne de commandes soit purement shell mais j'en doute, Gecko est un moteur graphique, ce qui implique donc encore et toujours X et des libs GTK à charger ce qui...
Enfin si tu y arrives je suis preneur du truc parceque je l'avoue je serai bleuffé.
__________________
J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone.
Mon rêve s'est réalisé: je ne sais plus comment utiliser mon téléphone (Bjarne Stroustrup, auteur du langage C++)
Tonio est déconnecté   Réponse avec citation
Vieux 25/05/2005, 22h09   #12
Titoph
Membre Assidu
 
Avatar de Titoph
 
Date d'inscription: 09/2002
Localisation: Nantes
Messages: 506
Titoph sait se tenir
Envoyer un message via MSN à Titoph
Je vois pas où est ton problème NantoFirebird ! J'ai déjà utilisé HTML2PDF avec des pages web contenant du code CSS et cela marchait nickel.

Moi je faisais même pire vu que je gérérais dynamiquement des pages HTML en php et de ces pages html, j'en faisais des PDF. Pour info, c'était en entreprise pour générér des emplois du temps, feuilles de dépenses et de salaires des employés. Donc PDF oblige pour la protection des informations
__________________
Titoph' (Webmaster)
Titoph est déconnecté   Réponse avec citation
Vieux 25/05/2005, 22h25   #13
Dinofly
Président
 
Avatar de Dinofly
 
Date d'inscription: 10/2001
Messages: 6 407
Dinofly peut être fier de luiDinofly peut être fier de luiDinofly peut être fier de luiDinofly peut être fier de luiDinofly peut être fier de luiDinofly peut être fier de luiDinofly peut être fier de luiDinofly peut être fier de lui
Envoyer un message via ICQ à Dinofly
Je sais pas quelles sont les performances de html2pdf mais à mon avis si on s'amuse à dimensionner des blocs ou à les placer en CSS au lieu de n'utiliser les CSS que pour les polices, couleurs, etc, ça risque de ne pas passer la conversion.
Enfin si ça, ça marche, je prends tout de suite !
J'en aurais besoin pour le boulot
Actuellement je me fais chier avec fPDF
__________________
http://dinofly.planetemu.net/images/president_planet_2012.png
http://forums.planetemu.net/picture.php?albumid=17&pictureid=198
Dinofly est déconnecté   Réponse avec citation
Vieux 25/05/2005, 23h08   #14
NantoFirebird
Invité
 
Messages: n/a
J'vois qu'on se prend tous la tête pour la même chose : le pdf au boulot loool

Tonio> ben oui, çà c'est un fait, il faut en permancence un navigateur ouvert sur le serveur. Après pour ce qui est du bouffage de ressource, tout est relatif. J'ai malheureusement pas toutes les infos là dessus, mais une chose est sûre, le serveur est un biproc dernier cri. Par contre si l'idée de téléguider un navigateur pour faire du ps est excellente sur le papier, car çà va produire une transcription ultra-fidèle, moi aussi çà me gêne un peu, ne serait-ce que par le fait d'être obligé de faire un tas de tests comme de vérifier que le navigateur est bien lancé à chaquie transcription, etc ... Du coup j'ai essayé plusieurs parseurs maisons, et htmldoc ressort comme étant celui qui fourni les meilleurs résultats pour mes besoins propres. Mais du coup je dois laisser tomber les css. Pour le moment çà va, mais à terme je vais avoir besoin d'une autre solution ...

Titoph>hum html2pdf, le nom me dit quelque chose, j'ai forcément du l'essayer, mais si je ne l'ai pas retenu, c'est que j'ai du avoir des soucis, sans doute avec les images alignées à droite ou un truc du genre ... Ah si çà me revient ce fut le premier truc que j'ai essayé, et j'avais effectivement des problèmes d'alignement et des sauts de page assez mal gérés. Par contre je fais comme toi : création d'un html temporaire, conversion en pdf fourni au client via les headers php qui vont bien, puis suppression du html temporaire. On a un serveur de test bien pourri sur lequel néanmoins la conversion se fait très rapidement, donc ...

Dino> Tout dépend de tes besoins, mais rècupère les sources de htmldoc pour voir. Cà fait un excellent boulot sur des html basiques (essayes de convertir http://www.google.fr pour voir), et si tu développes la page à convertir dans l'optique d'utiliser htmldoc, tu peux faire vraiment quelquechose de très bon très rapidement ...
  Réponse avec citation
Vieux 14/06/2005, 22h22   #15
NantoFirebird
Invité
 
Messages: n/a
Citation:
Originally posted by Tonio@Mercredi 25 Mai 2005, 19:44
A moins que la version ligne de commandes soit purement shell mais j'en doute, Gecko est un moteur graphique, ce qui implique donc encore et toujours X et des libs GTK à charger ce qui...
Enfin si tu y arrives je suis preneur du truc parceque je l'avoue je serai bleuffé.
Bon y'a du nouveau, donc je up pour les intéressés, désolé pour les autres.

1/ On a laissé tombé Firefox, mais on s'est rabbattu sur OpenOffice qui peut lui se lancer sans problème en ligne de commande. De plus vu le nombre de filtres et l'existence des macros, y'a de quoi faire des exports tous azimuts
2/ Reste le soucis soulevé par Tonio que je cite dans ce post concernant X. Mais la aussi j'ai du nouveau, enfin pas tant que vu que la solution était à chercher du côté de 1994 ... Si je vous dis que j'ai fais tourné OpenOffice sur un serveur sans X, vous me croyez ? Et ben si, en utilisant xvfb. C'est une alternative à X qui au lieu de gérer un affichage, envoie tout le bazar dans un fichier temporaire... Cà ouvre des possibilités insoupsonnées

A la demande de mon 'supérieur' j'ai rédigé une 'tite note là dessus, s'il y en a qui veulent en savoir plus : openoffice-X.pdf
  Réponse avec citation
Réponse


Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s))
 
Outils de la discussion
Modes d'affichage

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

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 21h55.


vBulletin® v.3.8.7, Copyright ©2000-2024, Jelsoft Enterprises Ltd.