SVG pour imprimer des graphiques

17

Dans quelle mesure les graphiques vectoriels évolutifs ont-ils fonctionné pour l'impression?

J'ai besoin de générer des graphiques par programmation pour les inclure dans des documents imprimés. Il semble qu'il n'y ait que deux prétendants sérieux pour un format de fichier cible, EPS et SVG.

En tant que programmeur, SVG semble plus facile à utiliser, mais il ne semble pas avoir été accepté par l'industrie graphique. Auparavant, il y avait des projets pour baser les graphiques d'impression sur SVG (par exemple Adobe PDFXML), mais aucun ne semble être actif actuellement. De plus, les outils d'Adobe semblent avoir mis fin à une brève aventure avec SVG.

Si j'ai choisi SVG comme format livrable, quels problèmes pourrait-il y avoir, par rapport aux alternatives? J'ai entendu des plaintes concernant la gestion du texte par SVG, mais je n'ai trouvé aucune discussion détaillée. Une autre chose que je soupçonne pourrait être un problème est de savoir comment convertir proprement SVG en PDF.

user287424
la source
Devrait être des bibliothèques qui peuvent convertir au format PDF pour vous.
DA01

Réponses:

9

En fait, pour l'impression EPS ou PDF serait mieux. SVG est correct pour le Web (ce pour quoi il a été conçu) mais il y a souvent des problèmes avec les RIP lors de l'impression. La plupart des concepteurs auxquels sont fournis des fichiers SVG les ouvriront dans une application vectorielle et les réenregistreront en fichiers natifs, eps ou PDF. Je n'enverrais JAMAIS un fichier SVG à un fournisseur d'impression.

Scott
la source
Mais un PDF devrait simplement intégrer le SVG sur un «papier virtuel», comment cela résout-il les problèmes de RIP?
jiggunjer
1
@jiggunjer PDF utilise une structure de code entièrement différente de SVG. Le PDF est basé sur le post-scriptum, le svg ne l'est pas. L'enregistrement au format PDF n'incorpore pas le svg en tant que papier virtuel. C'est une base de code différente.
Scott
Je vois, je pensais que le svg natif était préservé de la même manière que l'image raster est incorporée. Mais maintenant je comprends qu'il y a une conversion en chemins pdf. Est-ce sans perte ou peut-il y avoir des variations en fonction de la mise en œuvre du convertisseur pdf? Par exemple, Inkscape produira-t-il le même pdf pour un svg donné que ghostscript?
jiggunjer
Je ne peux pas commenter Inkscape. Je peux vous dire que la plupart des processeurs d'images raster (RIP) utilisés pour l'impression commerciale s'étoufferont probablement sur une image SVG. Ils ne comprendront pas la base de code. Le PDF est essentiellement un logiciel RIP. Donc, généralement, lorsque vous enregistrez quelque chose au format PDF, le code est réécrit / structuré avec la sortie à l'esprit de la même manière qu'un RIP matériel traiterait les images. Fondamentalement, une application capable à la fois de sortie SVG et PDF doit avoir des paramètres de conversion internes pour configurer la sortie en fonction du format, et SVG est un format totalement inapproprié pour l'impression commerciale.
Scott
Merci. Cela m'a fait réfléchir, j'ai donc posté une question connexe: graphicdesign.stackexchange.com/q/97154/102588
jiggunjer
3

J'ai utilisé abcPDF pour convertir par programme SVG généré en PDF à des fins d'impression. Cela fait environ 4 ans, mais je ne peux pas imaginer que son support dans la bibliothèque aurait diminué.

Jacob G
la source
1

Inkscape peut convertir des fichiers SVG en PDF et EPS via la ligne de commande. Google "svg en ligne de commande eps". Ce serait une bonne solution pour les graphiques destinés à la fois à la livraison sur le Web et sur papier.

Gardez juste à l'esprit que même si cela devrait fonctionner sous Linux, Inkscape via la ligne de commande sur un Mac est quelque peu cassé (il peut être nécessaire de compiler Inkscape vous-même ou de modifier la liaison des fichiers à l'intérieur du .app)

Mentaliste
la source
-1

Si vous devez convertir l'image en bitmap, assurez-vous de sélectionner la bonne taille avant de convertir l'image, car tout redimensionnement après la conversion de l'image entraînera une perte de qualité.

Kap
la source
3
Pouvez-vous expliquer pourquoi vous pensez qu'un changement de bitmap pourrait être utile? Je préférerais un format vectoriel.
Mensch
-2

Toute l'industrie (découpeuses laser, fraiseuses, etc.) repose sur le «travail physique» avec DXF, qui est un Drawing Exchange Format, qui peut être converti en JSON AST (de nombreuses bibliothèques à cet effet) qui peut être exactement converti en SVG; il n'y a donc aucune raison possible d'empêcher SVG de l'utiliser à des fins d'impression.

Un attribut crucial du SVG à cet effet est celui viewBox=qui indique les dimensions réelles du dessin. viewBox=devrait correspondre avec width=et height=, ou vous obtiendrez une impression recadrée et à l'échelle. Vous devez fournir un viewBox=attribut à l'exportation et l'exiger à l'importation.

Néanmoins, vous pouvez rencontrer des problèmes avec SVG mais ce ne sera pas la faute de SVG: il existe de nombreux pilotes / applications bogués.

Dans mon entreprise, nous utilisons SVG pour le format d'échange de dessin par défaut.

ceremcem
la source
1
Utilisez Step. Bien qu'il soit vrai que mes applications peuvent lire (certains dialectes de) DXF, il n'est pas vrai que ma machine de découpe laser, fraiseuse cnc ou tour cnc utilise DXF. En fait, ce n'est pas le cas, le laser utilise des routines d'imprimante basées sur le post-scriptum en raison du besoin de rastérisation, qui est plus proche du pdf que du SVG. Les machines CNC utilisent le code G. Dans les deux cas, DXF ne fonctionnera pas pour l'impression en raison du manque de bons types de primitives et de CMS. Mais oui, vous pouvez convertir le svg en impression, mais le svg lui-même manque de fonctionnalités nécessaires à l'impression commerciale. Ils seraient faciles à injecter mais pas implémentés après tout, SVG est comme un pdf paralysé.
joojaa
Merci d'avoir ouvert les portes pour une discussion plus approfondie. Je n'ai pas mentionné les étapes intermédiaires pour réduire la complexité de la réponse: le code G ou Postscript (ou tout format final) est produit par l'entreprise qui détient la machine (découpeuse laser, imprimante, etc.), éventuellement en utilisant le logiciel propriétaire de la machine ou par n'importe quel convertisseur que la machine prend en charge son format. Si un format (DXF, donc SVG dans ce cas) est utilisé comme étape intermédiaire, cela signifierait qu'il s'agit d'un format approprié pour le travail physique. Pourriez-vous mentionner les primitives manquantes pour SVG? (DXF n'a pas de formes solides, AFAIK)
ceremcem