Распечатать огромный SVG

16

Я использую Google Chrome для просмотра файла 1178x5408 .svg. Он включает в себя множество небольших «подграфов» (скриншоты диалогов, соединенных стрелками .. подумайте «волшебник»), все это создано graphviz.

Теперь я хочу напечатать это правильно. Для меня важно не уменьшать масштаб всего этого до одного куска бумаги, так как тогда я больше не вижу ничего из маленьких скриншотов.

Каковы мои лучшие варианты?

Акира
источник
1
Вы можете получить лучшие ответы, если укажете, какую ОС вы используете.
Даг Харрис
@ Даг Харрис: нет. это общая проблема, у меня она есть под всеми ОС, которые я использую.
Акира
1
Я имел в виду, что если есть предпочтительная ОС, то вы получите конкретные рекомендации по ОС. Кроме того, размещение тега ОС на вопросе привлечет пользователей, у которых эта ОС указана в качестве избранного тега.
Даг Харрис
я не могу поставить достаточно тегов ОС, я заинтересован в том, чтобы решить проблему на всех ОС :)
akira
1
Акира, решение для одной ОС не будет решением для другой. Мы пытаемся решить вашу конкретную проблему, а не предоставлять ответы на вопросы о жизни, вселенной и всем остальном. Достаточно просто добавить «Я использую Google Chrome в Windows ME» и позволит нам представить гораздо более точное решение. Добавление того, что вы хотели бы знать решение и для других ОС, это нормально, но это вторично по отношению к вашей конкретной проблеме и должно рассматриваться как таковое.
music2myear

Ответы:

10

Я предлагаю вам использовать Inkscape, чтобы открыть файл SVG и распечатать его оттуда. У него гораздо лучшие параметры печати, чем у Chrome для SVG.

Shift+ Ctrl+ Dдаст вам варианты документа:

Параметры документа

BloodPhilia
источник
2
Чтобы усилить BloodPhilla, непонятно, что формат SVG, где «S» обозначает «Масштабируемый», должен иметь «естественную» ширину и высоту, указанные в <svg>теге. Хотя Inkscape - хороший инструмент, в отчаянии вы всегда можете открыть .svg в своем любимом редакторе и изменить размеры в открывающем теге.
Msw
1
@msw - это испортило бы ваш SVG-образ, потому что оно выбросило бы популяции
BloodPhilia
хороший ответ, это был один из моих подходов, который не удался. Inkscape печатал только первую страницу, iirc. я проверю снова.
Акира
нет, не будет, поскольку свойства ссылаются на размер области просмотра, а не на размер изображения.
Стивенвх
3
Привет, не могли бы вы подробнее рассказать о том, что делать в InkScape, пожалуйста? У меня большой svg (width = "6137pt" height = "3092pt"), который не имеет значения, что я делаю, либо выходит очень маленьким на одной странице, либо печатает только 1 страницу в полном размере! Приветствия.
IanVaughan
6

Просто нужно было решить это сегодня. Я использовал Inkscape Print и печатал в PDF-файл (это стандартная функция в Linux; я не знаю о других платформах), а затем я использовал pdfposter, чтобы разбить его на страницы:

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

Перевод: используйте страницы формата А4, чтобы создать плакат формата А3.

Мариус Гедминас
источник
2

Хорошо , я использовал wkhtmltopdf, чтобы получить разумный, красивый .pdf из этого .svg:

% wkhtmltopdf.exe input.svg output.pdf
Акира
источник
Итак, у меня есть SVG с шириной = "2447pt" высота = "2716pt". wkhtmltopdf дает мне две страницы: верхний левый угол и нижний левый угол. Другая половина SVG просто обрезана.
Мариус Гедминас
@MariusGedminas просто передать в - page-width и - page-height в мм
dlamblin
2

Я только что имел некоторый успех со следующими шагами:

  1. Откройте SVG в Inkscape. Я использую версию 0.48 для Windows.
  2. Экспорт в PDF. Я использовал настройки по умолчанию.
  3. Откройте PDF в Foxit Reader .
  4. Распечатать; в разделе «Обработка печати» в раскрывающемся списке «Тип масштабирования» выберите параметр «Плитка больших страниц».

После вышеизложенного мой SVG, вероятно, будет печататься на страницах размером 13 на 10 букв.

Обновление - у меня были некоторые трудности с вышеупомянутым; некоторые из «плиточных» страниц не печатались, но не всегда одни и те же страницы, поэтому я подозреваю небольшую проблему с тем, как Foxit Reader печатает плиточные страницы. Вот альтернативные шаги, которые я только что выполнил, которые работали без проблем:

  1. Откройте SVG в Inkscape.
  2. Экспорт в PDF.
  3. Откройте PDF в Foxit Reader .
  4. Распечатать; в разделе «Обработка печати» в раскрывающемся списке «Тип масштабирования» выберите параметр «Плитка больших страниц», а в поле «Принтер» («Имя») выберите «Foxit Reader PDF Printer» .
  5. Введите имя для нового PDF, который будет создан со страницей для каждой «мозаичной» страницы в оригинальном PDF.
  6. Новый PDF с плиточными страницами должен автоматически открываться в Foxit Reader; этот PDF-файл можно распечатать как обычно, и страницы не должны быть пропущены
Кенни Эвитт
источник
1

Вы можете попробовать использовать последнюю версию GhostPDL (родственное приложение для Ghostscript; исходный код доступен по адресу http://svn.ghostscript.com/ghostscript ) для преобразования файла в PDF. GhostPDL может обрабатывать SVG (и XPS или PCL) аналогично тому, как Ghostscript обрабатывает PostScript. Итак, командная строка:

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

Получив PDF, вы сможете легко распечатать его из Acrobat {, Reader}. По крайней мере, теперь с PDF мы знаем разные способы надежной печати одного файла большого размера на нескольких листах бумаги (Letter, A4 или A3), используя утилиту "posterize".

Может быть, такая функция «печати плаката» также доступна в Inkscape (которая может открывать и печатать SVG напрямую), но я не уверен, что у меня в голове.

Курт Пфайфл
источник
какие-нибудь хитрости, чтобы вставить упомянутые файлы .png в .pdf?
Акира
@akira: Извините, я не понимаю вашего вопроса. О каком .png вы говорите?
Курт Пфайфл
«Он включает в себя множество небольших« подграфов »(скриншоты диалогов, соединенных стрелками.« Думаю, «волшебник») ». Я говорю об изображениях .png, на которые ссылается .svg
akira
@akira: вы не указали в своем первоначальном вопросе, что графические изображения были файлами .png и что они не были встроены в .svg ... - Таким образом, когда вы печатаете .svg в PDF, вы не видите .pngs включены в страницы PDF ?! Какой тип ссылки используется? Это интернет или локальная файловая система? Это использует абсолютные или относительные пути?
Курт Пфайфл
0

Поскольку большинство ответов, похоже, сосредоточены на решениях командной строки, я бы хотел добавить это. И действительно, это согласуется с ответом BloodPhilla (Inkscape), потому что вам нужно сначала преобразовать SVG в PNG, чтобы использовать этот инструмент, но вот он: PosteRazor . Получив PNG, вы можете вставить его в эту программу, и за 4 простых шага мастера вы получите многостраничный PDF, который можно собрать в «постер». Мне пришлось немного поиграть с полями и перекрытиями, чтобы все получилось так, как я этого хотел, плюс вам нужно знать о физических ограничениях вашего принтера в печати краев, но в целом, полезный маленький инструмент для такого рода вещей.

NateJ
источник
0

У меня возникла та же проблема, и я решил использовать рекомендованный Inkscape, но разделить весь график на логически независимые агругации, и мне повезло, что каждый из них снабжен разумно читаемым размером шрифта на листах формата A3.

  1. Выберите элементы, в которые вы хотите вставить, например, A3, и скопируйте их в новый документ. Файл / Свойства, выберите A3, книжная или альбомная.
  2. Соедините элементы вместе, как вы хотите.
  3. Должен быть ярлык для того, чтобы сделать это постепенно с помощью мыши, но я сделал это следующим образом: выделите их все, Object / Transformations, вкладку Scale, «пропорционально масштабируйте» и попробуйте значение. Если один не удастся, Ctrl + Z и попробуйте другой.
  4. Файл / Сохранить копию, введите: pdf.

Повторите для каждой части, один результирующий PDF для каждого раздела.

Откройте с помощью некоторого средства просмотра PDF и распечатайте.

В противном случае я бы выбрал решение Кенни Эвитта , но вам придется.

Не могу понять, почему ответ BloodPhilia , как есть, в настоящее время является наиболее проголосовавшим.

Рауль Морено
источник