Как я могу разделить страницы PDF в середине?

кто-нибудь знает хороший способ разделить страницы pdf в середине на две новые страницы?

чтобы быть ясным, я не попытка разделить уже существующие страницы из pdf; я пытаюсь создать две новые страницы из существующей одной страницы.

17
задан Der Hochstapler
12.04.2023 7:09 Количество просмотров материала 3023
Распечатать страницу

4 ответа

Try BRISS.

alt text

Это позволяет разделить каждую страницу на столько подстраниц,сколько вы хотите, определяя регионы с графическим интерфейсом. Он группирует все похожие страницы в группы для вас, так что вы можете определить регионы для этой группы один раз.

Это кросс-платформенный, бесплатный, с открытым исходным кодом.

26
отвечен frabjous 2023-04-13 14:57

вы можете решить эту проблему с помощью Ghostscript. pdftk один не может этого сделать (насколько мне известно). Я дам вам шаги командной строки, чтобы сделать это вручную. Это будет легко сделать в виде процедуры, также с различными параметрами для размеров страниц и номеров страниц. Но вы сказали, что можете сделать это сами; -)

как решить эту проблему с помощью Ghostscript...

...и для удовольствия, я недавно сделал это не С входной файл с " двойными "страницами, но с"высокими частотами". Вы можете прочитать ответ на этот случай в ответ.

ваш случай еще проще. Кажется, у вас есть что-то похожее на это:

+------------+------------+   ^
|            |            |   |
|      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 -->
34
отвечен Kurt Pfeifle 2023-04-13 17:14

спасибо @marttt и их ответ в Unix & Linux.

можно использовать mutool (который входит в состав mupdf):

mutool poster -x 2 input.pdf output.pdf

вы также можете использовать -y Если вы хотите выполнить вертикальный шпагат.

6
отвечен Peque 2023-04-13 19:31

чтобы расширить ответ @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. Но тогда обрезка должна быть сброшена до обрезки, чтобы страницы выглядели бесшовными. В противном случае задайте обрезку носителя.

0
отвечен motorbaby 2023-04-13 21:48

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх