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

43

Я хочу найти самый простой способ заменить одну страницу в многостраничном PDF на другую одностраничную PDF в Linux. Какой инструмент лучше для этого?

В настоящее время я делаю это так:

  1. разделить PDF на отдельные страницы, используя pdfsam
  2. заменить страницы, которые я хочу заменить
  3. объединить их с помощью pdfsam
  4. используйте ghostscript, чтобы размер страницы был таким же

Есть ли лучший способ?

xgdgsc
источник

Ответы:

67

Вы можете использовать PDF Toolkit PDFtk :

Пример:

pdftk A=inA.pdf B=inB.pdf cat A1-12 B3 A14-end output out1.pdf

Вывод состоит из первых 12 страниц inA.pdf, за которыми следуют страница 3, inB.pdfа затем страницы 14 до конца inA.pdf.

Многие дистрибутивы Linux предоставляют пакет PDFtk, который можно загрузить и установить с помощью менеджера пакетов.

Аксель Кемпер
источник
5
Благодарность! Обратите внимание, что A = и B = должны быть в верхнем регистре. Когда я попробовал строчную букву pdftk, хотя a = было частью имени файла.
biscuit314
6

Вы также можете использовать qpdf с открытым исходным кодом:

Тот же пример, что и в другом ответе :

qpdf --empty --pages inA.pdf 1-12 inB.pdf 3 inA.pdf 14-z -- out1.pdf
Гийом С-Римбаулт
источник
Вы, вероятно, имеете в виду, inB.pdfа не B.pdf. Вероятно, это должен быть принятый ответ, поскольку pdftkон снят с производства, насколько я знаю.
Мариус Хоферт
Я не знаю, сможете ли вы изменить принятый ответ после того, как он уже установлен. Тем не менее, я согласен, что это лучший вариант, поскольку он все еще очень активно поддерживается. Мне также очень нравится тот факт, что он предлагает AppImage, так что вы можете использовать его без установки. : D
Майкл Туннелл