Imprime un gran SVG

16

Utilizo Google Chrome para ver un archivo .svg de 1178x5408. Incluye una gran cantidad de pequeños "subgraphics" (capturas de pantalla de diálogos, conectados por flechas ... piense en "asistente"), todo es creado por graphviz.

Ahora quiero imprimirlo correctamente. Para mí es importante no reducir todo a una sola hoja de papel, ya que ya no puedo ver nada de las pequeñas capturas de pantalla.

¿Cuáles son mis mejores opciones?

akira
fuente
1
Puede obtener mejores respuestas si especifica qué sistema operativo está ejecutando.
Doug Harris
@ Douglas Harris: no. Es un problema general, lo tengo bajo todo el sistema operativo que estoy usando.
akira
1
Quise decir que si hay un sistema operativo preferido, obtendrás recomendaciones de herramientas específicas del sistema operativo. Además, poner una etiqueta de sistema operativo en la pregunta atraerá a los usuarios que tienen ese sistema operativo especificado como una etiqueta favorita.
Doug Harris
No puedo poner suficientes etiquetas del sistema operativo, estoy interesado en resolver el problema en todos los sistemas operativos :)
akira
1
Akira, la solución para un sistema operativo no será la solución para otro. Estamos tratando de resolver su problema específico, no proporcionar las respuestas a la vida, el universo y todo. Simplemente agregar "Estoy usando Google Chrome en Windows ME" será suficiente y nos permitirá presentar una solución mucho más precisa. Agregar que también le gustaría conocer la solución para otros sistemas operativos está bien, pero eso es secundario a su problema específico y debe tratarse como tal.
music2myear

Respuestas:

10

Le sugiero que use Inkscape para abrir el archivo SVG e imprimirlo desde allí. Tiene opciones mucho mejores de impresión que Chrome para SVG.

Shift+ Ctrl+ Dle dará opciones de documentos:

Opciones de documento

BloodPhilia
fuente
2
Para amplificar BloodPhilla, ciertamente es sorprendente que el formato SVG, donde "S" significa escalable, debe tener un ancho y una altura "natural" especificados en la <svg>etiqueta. Aunque Inkscape es una buena herramienta, si está desesperado siempre puede abrir un archivo .svg en su editor favorito y cambiar las dimensiones en la etiqueta de apertura.
msw
1
@msw: eso corrompería su imagen SVG porque arrojaría porciones.
BloodPhilia
buena respuesta, ese también fue uno de mis enfoques, no funcionó tan bien. inkscape imprimía solo la primera página, iirc. Voy a revisar de nuevo.
akira
no, no lo hará, ya que las propiedades se refieren al tamaño de la ventana gráfica, no a la dimensión de la imagen.
stevenvh
3
Hola, ¿podrías dar más detalles sobre qué hacer en InkScape, por favor? Tengo un svg grande (ancho = "6137pt" height = "3092pt") que no importa lo que hago, ¡sale muy pequeño en una página o solo imprime 1 página a tamaño completo! Salud.
IanVaughan
6

Solo tenía que resolver esto hoy. Utilicé Inkscape's Print e imprimí en un archivo PDF (que es una característica estándar en Linux; no sé sobre otras plataformas), y luego usé pdfposter para dividirlo en páginas:

pdfposter -m a4 -p a3 infile.pdf outfile.pdf

Traducción: use páginas A4 para construir un póster de tamaño A3.

Marius Gedminas
fuente
2

ok, usé wkhtmltopdf para obtener un .pdf razonable y atractivo de ese .svg:

% wkhtmltopdf.exe input.svg output.pdf
akira
fuente
Así que tengo un SVG con ancho = "2447pt" height = "2716pt". wkhtmltopdf me da dos páginas: la esquina superior izquierda y la esquina inferior izquierda. La otra mitad del SVG está cortada.
Marius Gedminas
@MariusGedminas solo pasa --page-width y --page-height en mm
dlamblin
2

Acabo de tener éxito con los siguientes pasos:

  1. Abra el SVG en Inkscape. Estoy ejecutando la versión 0.48 para Windows.
  2. Exportar a un PDF. Usé la configuración predeterminada.
  3. Abra el PDF en Foxit Reader .
  4. Impresión; En la sección "Manejo de impresión", en el menú desplegable "Tipo de escala", seleccione la opción "Mosaico de páginas grandes".

Siguiendo lo anterior, es probable que mi SVG se imprima en páginas de 13 por 10 letras.

Actualización : tuve algunas dificultades con lo anterior; algunas de las páginas 'en mosaico' no se imprimían, pero no siempre son las mismas páginas, así que sospecho que hay un problema sutil con la forma en que Foxit Reader imprime páginas en mosaico. Aquí hay pasos alternativos que acabo de seguir que funcionaron sin problemas:

  1. Abra el SVG en Inkscape.
  2. Exportar a un PDF.
  3. Abra el PDF en Foxit Reader .
  4. Impresión; en la sección "Manejo de impresión", en el menú desplegable "Tipo de escala", seleccione la opción "Páginas grandes en mosaico" y en la selección Impresora ("Nombre") seleccione "Impresora PDF Foxit Reader" .
  5. Ingrese un nombre para el nuevo PDF que se creará con una página para cada página 'en mosaico' en el PDF original.
  6. El nuevo PDF con las páginas en mosaico debería abrirse automáticamente en Foxit Reader; este PDF se puede imprimir normalmente y no se deben omitir páginas.
Kenny Evitt
fuente
1

Puede intentar utilizar la última versión de GhostPDL (aplicación hermana de Ghostscript; código fuente disponible en http://svn.ghostscript.com/ghostscript ) para convertir el archivo a PDF. GhostPDL puede manejar SVG (y XPS o PCL) de una manera similar a como Ghostscript maneja PostScript. Así que aquí va la línea de comando:

gsvg.exe ^
    -dNOPAUSE ^
    -dBATCH ^
    -dSAFER ^
    -sOutputFile=my.pdf ^
    -sDEVICE=pdfwrite ^
    -g1178x5408 ^
    c:/path/to/my.svg

Una vez que obtenga un PDF, debería poder imprimirlo fácilmente desde Acrobat {, Reader}. Al menos ahora con PDF, conocemos diferentes formas de imprimir de manera confiable un archivo de gran dimensión en varias hojas de papel (carta, A4 o A3) utilizando una utilidad "posterizar".

Tal vez una función de "impresión de póster" también esté disponible en Inkscape (que puede abrir e imprimir el SVG directamente), pero no estoy seguro desde lo alto de mi cabeza.

Kurt Pfeifle
fuente
¿Algún truco para incrustar los archivos .png referenciados en el .pdf?
akira
@akira: Lo siento, no entiendo tu pregunta. ¿De qué .png hablas?
Kurt Pfeifle
"Incluye una gran cantidad de" subgrafías "pequeñas (capturas de pantalla de diálogos, conectadas por flechas ... piense en" asistente ")" ... hablo de las imágenes .png a las que hace referencia .svg
akira
@akira: no dijo en su pregunta inicial, que los gráficos eran archivos .png y que no estaban incrustados en el archivo .svg ... Entonces, cuando imprime el archivo .svg a PDF, no ve ¿Los .png incluidos en las páginas PDF? ¿Qué tipo de referencia se usa? ¿Está basado en Internet o en un sistema de archivos local? ¿Está utilizando rutas absolutas o relativas?
Kurt Pfeifle
0

Dado que la mayoría de las respuestas parecían centrarse en soluciones de línea de comandos, me gustaría agregar esto. Y realmente coincide con la respuesta de BloodPhilla (Inkscape), porque primero debes convertir el SVG a PNG para usar esta herramienta, pero aquí está: PosteRazor . Una vez que tenga un PNG, puede alimentarlo en este programa y en 4 sencillos pasos del asistente obtendrá un PDF de varias páginas que puede ensamblarse en un "póster". Tuve que jugar con los márgenes y superponerme un poco para obtener las cosas como yo quería, además de que debes tener en cuenta la limitación física de tu impresora en la impresión de bordes, pero en general, una pequeña herramienta que vale la pena para este tipo de cosas.

NateJ
fuente
0

Tuve el mismo problema y opté por usar el Inkscape recomendado, pero subdividir todo el gráfico en agrupaciones lógicas independientes y tuve la suerte de que cada una tuviera un tamaño de fuente razonablemente legible en hojas A3.

  1. Seleccione los elementos en los que desea encajar, por ejemplo, A3 y cópielos en un nuevo documento. Archivo / Propiedades, seleccione A3, vertical u horizontal.
  2. Encaje los elementos como desee.
  3. Tiene que haber un atajo para hacerlo gradualmente con el mouse, pero lo hice así: seleccionarlos todos, Objeto / Transformaciones, pestaña Escala, "escalar proporcionalmente" e intentar un valor. Si uno falla, Ctrl + Z e intente con otro.
  4. Archivo / Guardar copia, escriba: pdf.

Repita para cada parte, un PDF resultante para cada sección.

Abrir con un visor de PDF e imprimir.

De lo contrario, optaría por solución Kenny Evitt , pero tendrá que hacerlo.

No puedo entender por qué la respuesta de BloodPhilia , como es, es actualmente la más votada.

Raúl Moreno
fuente