Преобразование SVG в PDF на нескольких листах

Если у вас нет libpython2.7.so.1.0 в / usr / lib / i386-linux-gnu, вы можете установить его, используя sudo apt-get python2.7. После установки просто перезагрузите свою систему или перезапустите nautilus. Если это еще не решит вашу проблему, тогда установите rabbitvcs-thunar в вашу систему.

1
задан 13 April 2017 в 15:24

3 ответа

Вы можете сохранить как изображение в формате pdf из inkscape напрямую, используя разрешение 600 dpi, которое вы планируете использовать для печати. ​​

Затем вы можете использовать imagemagick конвертировать), чтобы обрезать верхнюю и нижнюю части изображения независимо друг от друга в два разных файла PDF. Например, (набрано на терминале):

convert askUbuntu.pdf -crop 100%x50% +repage askUbuntuSplit.pdf

Затем вы можете разбить его на отдельные pdf-файлы, используя:

pdftk filename.pdf burst

Предполагаю, что imagemagick и pdftk уже установлены. [ ! d3]

2
ответ дан 24 May 2018 в 02:10
  • 1
    Вы также можете попробовать следующие параметры, чтобы избежать растрирования изображения: -density 600 -define psd:fit-page=2338x -resize 2338x – Harris 8 November 2014 в 02:25
  • 2
    convert banner_eingang5.svg -density 600 -define psd:fit-page=2338x -resize 2338x -crop 50%x100% +repage filename.pdf Я получаю растрированный pdf размером 49x35 мм (малый) – MadMike 8 November 2014 в 11:57
  • 3
    Это дает вам растрированный pdf: convert -density 90 askUbuntu.svg -crop 50%x100% +repage -trim -background black askUbuntu.pdf – Harris 8 November 2014 в 15:45
  • 4
    @ Харрис, насколько я знаю, imagemagick не может обрабатывать векторную графику. Независимо от того, что вы делаете, вывод всегда будет растрированным изображением. – Glutanimate 8 November 2014 в 16:49
  • 5
    На своем веб-сайте они говорят, что imagemagick использует inkscape или rsvg-convert для обработки svg-файлов. – Harris 8 November 2014 в 17:26

, поскольку я не смог получить ваш файл (неработающая ссылка). Мне удалось с помощью PDF, который у меня был на моем компьютере. Во всяком случае, так я продолжил:

Запуск Scribus (1.4.3 на Ubuntu 12.04 LTS) создает новый документ A3 с 2 страницами с выбранными параметрами «Двойная страница» и «Начать на левой странице» (возможно, не правильный перевод, поскольку я работаю над французской версией Scribus). создать рамку изображения на двух страницах импортировать PDF-размер установленного размера, подходящий для экспорта фреймов в формате PDF, распечатать его

Результат в архиве вы можете скачать здесь: http://www.filedropper.com/2a3tar_1 (1.4 Mo)

Проблема, которая может возникнуть, связана с техническими полями, которые обычно имеют настольные принтеры.

В этом случае вы можете сделать 2 кадра изображений, которые перекрываются, как в 2A3bis. sla.

0
ответ дан 24 May 2018 в 02:10

SVG - это XML, вы можете использовать этот скрипт python для создания фрагментов. Фактически, он не разрезает его, но использует ту же копию входного файла с разными значениями viewBox, чтобы показывать только целевую область.

svg_slice.py

#!/usr/bin/env python

import sys, os.path
import xml.etree.ElementTree as ET

fin=sys.argv[-1]
hsplit=int(sys.argv[1])
vsplit=int(sys.argv[2])

tree = ET.parse(fin)
root = tree.getroot()

hstep=float(root.attrib['width'])/hsplit
vstep=float(root.attrib['height'])/vsplit

root.attrib['width']=str(hstep)
root.attrib['height']=str(vstep)

for i in range(hsplit):
    for j in range(vsplit):
        root.attrib['viewBox']='%.4f %.4f %.4f %.4f' % (i*hstep, j*vstep, hstep, vstep)
        tree.write('cell_%i-%i_%s' % (i,j,os.path.basename(fin)))
Сгенерировать срезы
python svg_slice.py 2 1 askUbuntu.svg
, т. е. сетка 2x1. Затем используйте Inkscape для экспорта PDF для каждого фрагмента / ячейки
for i in $(ls cell_*); do inkscape $i --export-pdf=$i.pdf; done;

ls cell_*

cell_0-0_askUbuntu.svg      cell_1-0_askUbuntu.svg
cell_0-0_askUbuntu.svg.pdf  cell_1-0_askUbuntu.svg.pdf
0
ответ дан 24 May 2018 в 02:10

Другие вопросы по тегам:

Похожие вопросы: