SVG au format PDF sur un partage serveur linux
J'ai un site qui utilise le SVG pour un client interactif côté thingamabob. J'aimerais donner la possibilité de télécharger un fichier PDF de sortie. Je peux passer la dernière sortie SVG vers le serveur, lorsque je veux convertir au format PDF, puis de la retourner au client pour le téléchargement.
Ce serait nécessaire de travailler sur une tête partagé serveur linux, où l'installation ou la compilation est une immense douleur, ou impossible. Le site est en PHP, donc, la solution idéale serait de PHP, ou d'utiliser le logiciel qui est facilement installé sur un serveur web partagé. Python, perl et ruby sont disponibles, avec les choses habituelles que vous pourriez vous attendre sur une machine linux. Des Solutions qui vont au caire, les scripts inkscape, ou d'une installation plus complexe que " FTP " sont probablement hors. Dépenser de grandes sommes d'argent sont aussi, naturellement. Comme c'est un serveur partagé, de la mémoire et/ou de l'UC faim solutions sont aussi à l'extérieur, car ils ont tendance à se faire tuer; ce plus ou moins les règles du Batik.
Le plus proche que j'ai eu jusqu'à présent est cette transformation XSL qui je peux conduire à partir de PHP et ensuite gicler le résultant postscript par ps2pdf (qui est déjà installé). Le seul problème, c'est qu'il ne prend pas en charge le format SVG des chemins si elle le faisait, ce serait parfait.
Il y a des tas ou des questions sur StackOverflow, je l'ai lu, mais elles supposent toutes que vous pouvez soit installer des trucs, dépenser de l'argent, ou les deux.
Quelqu'un aurait-il un hors-the-shelf solution, ou dois-je tout simplement passer un peu de temps libre en essayant d'ajouter des chemins de soutien à cette transformation XSL?
Grâce,
Dunc
OriginalL'auteur Duncan Lock | 2010-01-27
Vous devez vous connecter pour publier un commentaire.
Je suis tombé sur TCPDF aujourd'hui, ce qui aurait été parfait pour ce, si je l'avais su à l'époque. C'est juste une collection de pure classes PHP, sans dépendances externes pour la plupart des choses.
Permet de construire des fichiers PDF à partir de zéro et vous pouvez inclure à peu près tout ce que vous voulez là-bas, y compris SVG (parmi beaucoup, beaucoup d'autres choses), comme le montrent ces exemples:
http://www.tcpdf.org/examples.php
Projet principal de la page est ici:
http://www.tcpdf.org/
Page Sourceforge est ici:
http://sourceforge.net/projects/tcpdf/
OriginalL'auteur Duncan Lock
Vous pouvez utiliser Apache FOP's gratuit Batik SVG boîte à outils qui a un transcoder api de transformer SVG au format PDF.
lien de téléchargement
Vous aurez besoin d'écrire un petit peu de java. Il y a des exemples de code ici – note, vous devez définir le transcodeur pour
org.apache.fop.svg.PDFTranscoder
au lieu de Java.Vous devriez être en mesure de le faire sans rien installer sur votre machine, il suffit de glisser les pots et exécuter un script. Je cite:
Merci pour la suggestion - je suis au courant de Batik (voir la question) et que vous souhaitez l'essayer, mais je n'ai pas été en mesure d'obtenir xmlgraphics.apache.org à charge pour une semaine maintenant, bien que ismysiteup.org/check/xmlgraphics.apache.org prétend que c'est de travail; pas sûr que ça se fait.
OriginalL'auteur Alex Brown
avez-vous regardé imagemagick? Je soupçonne que vous avez aussi besoin de ghostscript, pour boucler la boucle, ce qui peut rendre l'installation de la difficulté et de la performance d'un problème.
Avoir un autre a jouer avec ImageMagick et il ne pixellisation, la création d'un pdf avec une image bitmap à l'intérieur. Pour référence, il est facile à faire: convertir test.svg test.pdf ou comme cela, si vous souhaitez spécifier la résolution de sortie: convertir densité 1200 test.svg test.pdf pour 1200 ppp, par exemple. Cela tend à créer assez gros fichiers pdf.
OriginalL'auteur Alex Brown
Je vous suggère de donner princexml un essai, ils fournissent divers addons (dont une pour le PHP) et peut PDF de sortie de SVG/HTML/XML.
OriginalL'auteur Erik Dahlström
j'ai utilisé TCPDF (http://www.tcpdf.org/) dans de nombreux projets et il travail dans presque tous les cas d'utilisation.
Voici l'exemple de SVG: https://tcpdf.org/examples/example_058/
et voici le code qui peut vous aider à:
OriginalL'auteur Star