Hatred's Log Place

DON'T PANIC!

Резка большеформатных изображений на листы формата А4 для последующего склеивания

Aug 30, 2017 - 3 minute read

Введение

В свою бытность учебы в универе часто стояла задача распечатки большеформатных чертежей (форматы А1, А3) на листах формата А4, которые потом склеивались бы в исходный формат. Это, по моему мнению, идеальный подход для подготовки черновых чертежей.

Итак, для этих целей я использовал две утилиты: epssplit и jpeg2ps

Первая нужна чтобы резать EPS картинку на листы нужного формата. Вторая нужна что бы преобразовать растровую картинку из формата JPEG в формат EPS с заданием формата.

По сути, мне приходилось в основном иметь дело с распечаткой чертежей, которые я готовил в векторных чертежных программах, таких как Inkscape, Dia, XFig. Все эти программы могут экспортировать графику в формат EPS.

Итак, в вашем любимом векторном редакторе далаем чертеж, сохраяем, экспортируем его в формат EPS. Далее передаем дело в руки программы epssplit.

Epssplit - “резалка” EPS картинок

Качаем исходники:

wget http://web.archive.org/web/20060830165943/http://home.clara.net/nox/software/epssplit/epssplit-1.1.0.tar.bz2

Распаковываем:

bzip2 -d -c epssplit-1.1.0.tar.bz2 | tar xf -

Переходим в каталог с программой:

cd epssplit-1.1.0

Смотрим что никаких таких особых средств установки там нет, поэтому что бы не засорять систему делаем примерно следующее:

sudo mkdir -p /opt/epssplit/bin
sudo mkdir -p /opt/epssplit/libexec
sudo cp *.pm epssplit /opt/epssplit/libexec
echo '/usr/bin/perl -I/opt/epssplit/libexec /opt/epssplit/libexec/epssplit $@' > epssplit.bin
sudo cp epssplit.bin /opt/epssplit/bin/epssplit
sudo chmod +x /opt/epssplit/bin/epssplit
sudo ln -s /opt/epssplit/bin/epssplit /usr/bin

Все, после всех этих оперций у вас в системе появится программа epssplit

Теперь мы с ней работем, помните мы экспортировали файл в формат EPS? Допустим его имя cherteg.eps, и нам его нужно разрезать на листы А4, даем такую команду:

epssplit -p a4 -o cherteg_out.eps cherteg.eps

После чего в директории рядом с оригинальным cherteg.eps появляется несколько файлов вида cherteg_out_XX.eps - карждый отдельная составляющая большого листа - с запасами на склеивание.

Все, теперь распечатываем и склеиваем.

Альтернативный способ

Я его не проверял, но, поскольку epssplit сейчас можно найти только в запасниках веб-архива, то… встречайте - poster. А подробнее в статье:

А если рисунок растровый?

Ага и такие ситуации бывают. Утилита которая может из jpeg сделать EPS называется jpeg2ps - правда оригинально? :) Если же у вас не jpeg, воспользуйтесь пакетом ImageMagick, а точнее утилитой convert из её состава.

Качаем исходники:

wget http://web.archive.org/web/20131028073113/http://www.pdflib.com/fileadmin/pdflib/products/more/jpeg2ps/jpeg2ps-1.9.tar.gz

Распаковываем:

gzip -d -c jpeg2ps-1.9.tar.gz | tar xf -

Переходим в каталог с программой:

cd jpeg2ps-1.9

Программка простая, и опять никаких средств конфигурации, если что нужно - поправьте Makefile

make
sudo mkdir -p /opt/jpeg2ps/man/man1
sudo mkdir -p /opt/jpeg2ps/bin
sudo cp jpeg2ps /opt/jpeg2ps/bin
sudo cp jpeg2ps.1 /opt/jpeg2ps/man/man1
sudo gzip -9 /opt/jpeg2ps/man/man1/jpeg2ps.1
sudo ln -s /opt/jpeg2ps/bin/jpeg2ps /usr/bin
sudo ln -s /opt/jpeg2ps/man/man1/jpeg2ps.1.gz /usr/man/man1

Теперь её можно натравить на наш жипег:

jpeg2ps -p a1 -o out.eps out_foto.jpeg

Собственно и все, здесь -p a1 устанавливает формат картинки (растр обладает только разрешением, из-за чего физический размер будет сильно зависеть от устройства на котором вывод делают).

Далее полученный out.eps скармливают `epssplit``у

Альтернативный способ

Используем ImageMagic или GraphicsMagic:

convert file.jpg eps3:file.eps

или

convert -monochrome foo.png eps2:foo.ps

Плюс: на вход можно подать всё, что поддерживает IM.

А вообще, вот хорошая дискуссия на тему: http://latex.org/forum/viewtopic.php?t=5220.

Сторонний софт в Linux Mint Ядро Linux

comments powered by Disqus