Как вставить пустую страницу в PDF с помощью ghostscript или pdftk?


13

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

Как я могу это сделать?

Ответы:


14

От http://blog.chewearn.com/2008/12/18/rearrange-pdf-pages-with-pdftk/

pdftk A=src.pdf B=blank.pdf cat A1 B1 A2-end output res.pdf

Надеюсь, вам понравился этот скрипт, просто сохраните его как pdfInsertBlankPageAt.sh, добавьте права на выполнение и запустите.

./pdfInsertBlankPageAt 5 src.pdf res.pdf

#!/bin/bash
if [ $# -ne 3 ]
then
  echo "Usage example: ./pdfInsertBlankPageAt 5 src.pdf res.pdf"
  exit $E_BADARGS
else
  pdftk A=$2 B=blank.pdf cat A1-$(($1-1)) B1 A$1-end output $3
fi 

cat A1 B1 A2-endозначает, что выходной файл будет содержать первую страницу документа A ( src.pdf), за которой следует первая страница документа B ( blank.pdf), за которой следуют остальные (страницы 2 до конца) документа B. Эта операция называется конкатенацией, Linux catочень часто используется для отображения текста, но это интересно, когда используется более одного аргумента.

Чтобы создать blank.pdf, см. Как создать пустой PDF из командной строки?


Я предлагаю добавить небольшое объяснение, что делает команда, как она влияет (например, где вставлена ​​пустая страница). Также вы можете добавить удобный способ создания PDF-файла с пустой страницей.
maxschlepzig

7
Сегодня я нашел следующую команду для создания пустой страницы с помощью командной строки:echo "" | ps2pdf -sPAPERSIZE=a4 - pageblanche.pdf
remjg

Ссылка мертва :(
Weboide

При попытке вставить пустую страницу в начало документа (Страница 1) я получаю следующую ошибку: Ошибка: неожиданный конец диапазона; Ожидаемый номер страницы или юридическое ключевое слово, здесь: A1 Выход. Обнаружены ошибки. Выходные данные не созданы. Выполнено. Ошибки ввода, поэтому выход не создан.
Брайт
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.