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

Если у меня есть многостраничный 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 Ответ

0 голосов
/ 17 января 2019

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

...