Разделение и объединение PDF-файлов с Poppler приводит к большему файлу? (несмотря на удаление метаданных)

Если у меня есть многостраничный PDF, и я делю его на отдельные страницы, используя отличный пакет poppler (устанавливается в macOS с помощью brew install poppler) как это:

pdfseparate foo.pdf bar-%04d.pdf

и затем возвращаемся к полученному бару -####.pdf файлам, вот так:

pdfunite bar-*.pdf baz.pdf

Получающийся файл baz.pdf, похоже, имеет то же содержимое, но файл намного больше.

Сначала я предположил, потому что в результате будут дубликаты метаданных или что-то в этом роде. Но даже если я уберу все метаданные из всех файлов, то есть из входных данных, а также из промежуточной панели - файлов ####. Pdf, а также из выходного файла, используя exiftool и qpdf, вот так:

# command line steps to strip metadata from (and re-linearize) example.pdf :
exiftool -all= -overwrite_original example.pdf ;
mv example.pdf temp.pdf ;
qpdf --linearize temp.pdf example.pdf

Тогда все же полученный файл baz.pdf намного больше исходного ввода.

Что может быть причиной этого? Что еще может быть в многостраничном PDF-файле, кроме его содержимого? Предполагая, что Попплера pdfseparate а также pdfunite оставьте сам фактический контент нетронутым, и что мои метаданные верны.

Или это возможно, что pdfseparate а также pdfunite каким-то образом разложить и реконструировать содержимое PDF таким образом, чтобы оно было без потерь, но неоптимальным? (Я не знаю достаточно о внутренней структуре PDF-файлов, но могу представить, что существует множество разных способов кодирования одного и того же содержимого)

Кстати, если я проверю любой из задействованных файлов PDF, используя exiftool somefile.pdf он действительно не показывает метаданных вообще (и линеаризован: да).

1 ответ

Решение

Страницы PDF используют общие ресурсы, такие как шрифты, изображения и т. Д. При разделении документа общие ресурсы попадают в каждый полученный файл. Когда вы объединяете эти файлы, ресурсы могут не объединяться обратно (это зависит от того, как реализован инструмент слияния), в результате чего получается гораздо больший файл.

Другие вопросы по тегам