LINUX.ORG.RU

[Самиздат][PDF] Поменять станицы местами

 


0

0

К примеру, есть определённая абстрактная книга в *.pdf. Её необходимо распечатать. Но т.к. А4 для обычных книг, мягко говоря, великоват, то распечатываем в формате «2 страницы на листе».

А чтобы была возможность её потом нормально постранично порезать и сшить в нормальную привычную книжку, а не в журнал с разворотом в 4 полосы, надо две страницы через две менять местами.

Т.е. изначальный пдф должен идти не как

1 2 3 4 5 6 7 8 а как

1 3 2 4 5 7 6 8

А теперь, собственно, вопрос - есть ли какие-нибудь программные средства для такого массового редактирования pdf-файлов? А если нет, то есть ли такая возможность вообще, и можно ли будет написать под это дело скрипт?:)

Всем ответившим заранее спасибо:)

PS. Скрипт я писать никого не прошу, просто спрашиваю о гипотетической возможности такое сделать)

★★★

Последнее исправление: mega_venik (всего исправлений: 1)

Как массово редактировать я не знаю, но для обработки одного файла обычно использую pdfshuffler и pdfsam

athost ★★★★★
()
Ответ на: комментарий от Eddy_Em

> Если сконвертировать pdf в ps, то с помощью ps2ps можно и не такое вытворять :)

Вот мне и интересно, КАК потом вытворять всякое?:)

mega_venik ★★★
() автор топика

Плюсую pstops, пример для нарезки на 16 страниц:

pstops -pa4 «16:0L@0.66(206mm,140mm)+15L@0.66(206mm,1mm),2L@0.66(206mm,140mm)+13L@0.66(206mm,1mm),4L@0.66(206mm,140mm)+11L@0.66(206mm,1mm),6L @0.66(206mm,140mm)+9L@0.66(206mm,1mm)» $1 1.ps pstops -pa4 «16:8L@0.66(206mm,140mm)+7L@0.66(206mm,1mm),10L@0.66(206mm,140mm)+5L@0.66(206mm,1mm),12L@0.66(206mm,140mm)+3L@0.66(206mm,1mm),14L @0.66(206mm,140mm)+1L@0.66(206mm,1mm)» $1 2.ps

На выходе естественно 2-а ps-а лицевая и обратная сторона.

Детали есть в мане, если что.

ef37 ★★
()
Ответ на: комментарий от athost

> Как массово редактировать я не знаю, но для обработки одного файла обычно использую pdfshuffler и pdfsam

Нет-нет. Под «массово» подразумевалась возможность все страницы в документе сразу автоматически поменять как надо. В одном конкретном документе:)

mega_venik ★★★
() автор топика

Использую такой скрипт pr.sh.

На входе - pdf (обычная книга в A4). На выходе - готовая для буклета формата A5 двусторонняя распечатка. В первый проход печатается одна сторона, далее полученная пачка листов как есть вынимается и кладется в лоток принтера для печати другой стороны. Требует psutils.

#! /bin/bash
# usage pr.sh mybook.pdf

TMP_FILE="/tmp/$RANDOM.ps"
rm $TMP_FILE 2>/dev/null
pdftops $1 $TMP_FILE
psbook $TMP_FILE | psnup -l -pa4 -2 | pstops "2:0(0in,0in)" | lpr
echo "Wait until printer stop. Then switch paper and press enter."
read
psbook $TMP_FILE | psnup -l -pa4 -2 | pstops "2:-1(0in,0in)" | lpr
rm $TMP_FILE 2>/dev/null
mclaudt
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.