кто-нибудь знает хороший способ разделить страницы pdf в середине на две новые страницы?
чтобы быть ясным, я не попытка разделить уже существующие страницы из pdf; я пытаюсь создать две новые страницы из существующей одной страницы.
кто-нибудь знает хороший способ разделить страницы pdf в середине на две новые страницы?
чтобы быть ясным, я не попытка разделить уже существующие страницы из pdf; я пытаюсь создать две новые страницы из существующей одной страницы.
Try BRISS.
Это позволяет разделить каждую страницу на столько подстраниц,сколько вы хотите, определяя регионы с графическим интерфейсом. Он группирует все похожие страницы в группы для вас, так что вы можете определить регионы для этой группы один раз.
Это кросс-платформенный, бесплатный, с открытым исходным кодом.
вы можете решить эту проблему с помощью Ghostscript. pdftk
один не может этого сделать (насколько мне известно). Я дам вам шаги командной строки, чтобы сделать это вручную. Это будет легко сделать в виде процедуры, также с различными параметрами для размеров страниц и номеров страниц. Но вы сказали, что можете сделать это сами; -)
...и для удовольствия, я недавно сделал это не С входной файл с " двойными "страницами, но с"высокими частотами". Вы можете прочитать ответ на этот случай в ответ.
ваш случай еще проще. Кажется, у вас есть что-то похожее на это:
+------------+------------+ ^
| | | |
| 1 | 2 | |
| | | 595 pt
| | | |
| | | |
| | | |
+------------+------------+ v
^
fold
v
+------------+------------+ ^
| | | |
| 3 | 4 | |
| | | 595 pt
| | | |
| | | |
| | | |
+------------+------------+ v
<---------- 842 pt -------->
вы хотите создать 1 PDF с 4 страницами, каждая из которых имеет размер 421 pt x 595 pt.
давайте сначала извлекать левые секции из каждого входа страницы:
gs \
-o left-sections.pdf \
-sDEVICE=pdfwrite \
-g4210x5950 \
-c "<</PageOffset [0 0]>> setpagedevice" \
-f double-page-input.pdf
что сделали эти параметры?
во-первых, знайте, что в PDF 1 дюйм= 72 пункта. Тогда остальное:
-o ...............:
имена выходных файлов. Implicitely также использует -dBATCH -dNOPAUSE -dSAFER
.-sDEVICE=pdfwrite :
мы хотим PDF в качестве выходного формата.-g................:
задает размер выходного носителя в пикселях. по умолчанию pdfwrite имеет разрешение 720 dpi. Следовательно, умножьте на 10, чтобы получить совпадение для PageOffset.-c "..............:
просит Ghostscript обработать данный фрагмент кода PostScript непосредственно перед основным входным файлом (который должен сопровождаться -f
).<</PageOffset ....:
устанавливает сдвиг изображения страницы на носителе. (Конечно, для левых страниц сдвиг на [0 0]
не имеет никакого реального эффекта.)-f ...............:
обработать входной файл.какого результата достигла последняя команда?
этот one:
Output file: left-sections.pdf, page 1
+------------+ ^
| | |
| 1 | |
| |595 pt
| | |
| | |
| | |
+------------+ v
Output file: left-sections.pdf, page 2
+------------+ ^
| | |
| 3 | |
| |595 pt
| | |
| | |
| | |
+------------+ v
<-- 421 pt -->
далее правой разделы:
gs \
-o right-sections.pdf \
-sDEVICE=pdfwrite \
-g4210x5950 \
-c "<</PageOffset [-421 0]>> setpagedevice" \
-f double-page-input.pdf
результат:
Output file: right-sections.pdf, page 1
+------------+ ^
| | |
| 2 | |
| |595 pt
| | |
| | |
| | |
+------------+ v
Output file: right-sections.pdf, page 2
+------------+ ^
| | |
| 4 | |
| |595 pt
| | |
| | |
| | |
+------------+ v
<-- 421 pt -->
теперь мы объединяем страницы в один файл. Мы могли бы сделать это и с ghostscript, но мы будем использовать pdftk
вместо этого, потому что это быстрее для этой работы:
pdftk \
A=right-sections.pdf \
B=left-sections.pdf \
shuffle A B \
output single-pages-output.pdf
verbose
сделано. Вот желаемый результат. 4 разных страницы размером 421x595 пт.
результат:
+------------+ +------------+ +------------+ +------------+ ^
| | | | | | | | |
| 1 | | 2 | | 3 | | 4 | |
| | | | | | | | 595 pt
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
+------------+ +------------+ +------------+ +------------+ v
<-- 421 pt --> <-- 421 pt --> <-- 421 pt --> <-- 421 pt -->
спасибо @marttt и их ответ в Unix & Linux.
можно использовать mutool
(который входит в состав mupdf
):
mutool poster -x 2 input.pdf output.pdf
вы также можете использовать -y
Если вы хотите выполнить вертикальный шпагат.
чтобы расширить ответ @Kurt (поскольку у меня недостаточно очков репутации для комментариев), сначала убедитесь, что размеры, которые вы используете, не основаны на размерах рамки обрезки, если они отличаются от размеров коробки мультимедиа. Выходной размер основан на размерах медиа-бокса, но смещение, по-видимому, использует размеры рамки обрезки.
на странице разворотном что было 20.0833 х 13.833 медиа-поле и 19.25 х кадрирования 13.0, которая была такой же, как отделка окна в мой документ, разбивать его на две страницы в Ubuntu, для левой стороны:
gs -o left.pdf -sDEVICE=pdfwrite -g7230x9960 -c "<</PageOffset [0 0]>> setpagedevice" -f gatefold.pdf
правой стороны:
gs -o right.pdf -sDEVICE=pdfwrite -g7230x9960 -c "<</PageOffset [-693 0]>> setpagedevice" -f gatefold.pdf
и затем сшил их с pdftk left.pdf right.pdf output final.pdf
.
альтернативой было бы установить поле обрезки таким же, как поле мультимедиа; тогда смещение было бы -723. Но тогда обрезка должна быть сброшена до обрезки, чтобы страницы выглядели бесшовными. В противном случае задайте обрезку носителя.
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]