6

У меня есть два файла PDF с одинаковым количеством страниц, и я хочу сравнить каждую страницу с соответствующей страницей в другом файле. Для этого я хотел бы объединить, скажем, страницу 1 файла File1.pdf со страницей 1 файла File2.pdf, чтобы он получил одну страницу в новом документе. Затем перейдите на страницу 2 файла File1.pdf со страницей 2 файла File2.pdf и сделайте ее страницей 2 нового файла.

В этом вопросе я уже узнал, что могу разместить две страницы на одной странице с --nup параметра --nup команды pdfjam :

pdfjam File1.pdf File2.pdf --nup 2x1 --landscape --outfile File1+2.pdf

То же самое можно сделать с помощью пакета ImageMagick :

montage *.pdf merged.pdf

Но это объединяет страницу 1 и страницу 2 первого файла и делает то же самое позже со вторым файлом - не так, как предполагалось.

Что я сделал, так это разделил два документа. Первый файл получил четные числа в имени файла, второй нечетные числа (на самом деле я создал файлы заново с соответствующими именами файлов). Затем я снова объединил все файлы с

pdftk *.pdf cat output merged.pdf

и, наконец, положить две страницы на одной с

pdfjam --nup 2x1 --landscape --outfile merged2up.pdf merged.pdf

Я мог бы написать скрипт с циклом, делающим это, но мне было интересно, есть ли простой однострочник для достижения этой цели? Может быть, я не нашел правильную команду pdfjam, pdftk или ImageMagick?

2 ответа2

4

Вы можете разделить File1.pdf и File2.pdf на страницы, а затем объединить эти файлы tmp в File1+2.pdf следующим образом:

# Split files, note the naming scheme
pdfseparate File1.pdf temp-%04d-file1.pdf
pdfseparate File2.pdf temp-%04d-file2.pdf

# Combine the final pdf
pdfjam temp-*-*.pdf --nup 2x1 --landscape --outfile File1+2.pdf

# Clean up
rm -f temp-*-*.pdf
-1

Да, немного поздно, но может быть полезным для кого-то еще.

Оригинальный подход OP, чтобы отображать страницы бок о бок, может быть достигнут другим ответом.

Тем не менее, подход может быть трудным, если цель состоит в том, чтобы найти небольшую текстовую разницу. Для этой цели используйте pdfdiff, среди которых есть несколько от разных авторов, коммерческих, с открытым исходным кодом, командной строки и GUI.

https://duckduckgo.com/?q=pdfdiff&t=ffab&ia=software

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .