
Я нашел много похожих вопросов на этом форуме. Но ни один из них не касается моей проблемы. Пожалуйста, проверьте еще раз, прежде чем отмечать как дубликат.
Предположим, у меня есть два PDF-файла.
first.pdf
имеющий 10 страниц.second.pdf
имеющий 20 страниц.
Я хочу создать новый PDF-файл, в котором мне нужны страницы - 2,5,6,9 из first.pdf
и страницы 6,7,15,19 из second.pdf
.
Как это сделать из командной строки?
решение1
Вы можете использовать pdfseparate
команду, чтобы разделить все страницы pdf-файлов на одностраничные pdf-файлы. Следующая команда создаст last_page
- first_page
pdf-файлы, где их имя будет out_<pageNumber>
:
pdfseparate -f <first_page> -l <last_page> <file_name>.pdf out_%d.pdf
Примените процесс к обоим pdf, используя разные выходные имена для каждого входного pdf, чтобы не перезаписывать ранее созданные одностраничные pdf. Затем вы можете использовать pdfunite
для объединения выбранных страниц в один pdf:
pdfunite <ordered list of pdf> <output_filename>.pdf
решение2
Вы можете использоватьpdftk
всего заОДИНшаг:
pdftk A=first.pdf B=second.pdf cat A2 A5 A6 A9 B6 B7 B15 B19 output final.pdf
P.S. Если вам нужно установить, вам следует:
sudo apt-get install pdftk
решение3
Установить pdftk
:
sudo apt install pdftk
затем, чтобы извлечь «2 5 6 9» из первого в файле с именем «1.pdf»:
pdftk first.pdf cat 2 5 6 9 output 1.pdf
и для второго.pdf:
pdftk second.pdf cat 6 7 15 19 output 2.pdf
Затем объедините их:
pdftk 1.pdf 2.pdf output final.pdf
И удалите ненужные:
rm 1.pdf 2.pdf
решение4
Очень просто с qpdf (также работает с Cygwin на Windows):
qpdf --empty --pages 'file1.pdf' 1,2,4-10 'file2.pdf' 11-26 'file1.pdf' 27-29 -- ./merged-result.pdf