Есть ли способ свести размер слитых PDF-файлов с помощью PyPDF2 к минимуму или уменьшить размер после слияния? - PullRequest
0 голосов
/ 16 октября 2018

Я развернул водяной знак в существующем файле PDF, используя метод, подробно описанный в ответе на этот вопрос: Как добавить страницы PDF с помощью PyPDF2

Однако во время этого процесса слиянияразмер pdf, по крайней мере, удваивается и часто почти втрое увеличивается (для справки - от 10 до почти 30 МБ) в зависимости от используемого водяного знака.Мне нужно, чтобы размер был намного ближе к исходному размеру pdf.

Есть ли способ достичь этого в процессе слияния?или, если нет, есть ли способ, который я могу развернуть через PyPDF2 или любой другой пакет python, чтобы значительно уменьшить размер файла?

Я искал вокруг, но в настоящее время не могу найти разумное решение (другоечем, возможно, вручную уменьшить размер с помощью программного обеспечения Adobe).Это не подходящее решение, так как мне нужно, чтобы сокращение было автоматизировано.

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

Я не детализировал здесь какой-либо конкретный код (кроме косвенного через связанный вопрос и ответ), так как он не кажется необходимым.Хотя, если требуется дополнительная информация, пожалуйста, дайте мне знать!

Спасибо!

1 Ответ

0 голосов
/ 22 октября 2018

Ключевая проблема заключается в том, что если вы помечаете водяными знаками n страниц, используя mergePage, он, скорее всего, вводит n копий ресурсов страницы водяного знака в документ, а не повторно использует 1 копию водяного знака n раз.N копий шрифта или ресурса изображения становятся значительными накладными расходами.Я не вижу способа обойти это в PyPDF2.Моя компания, Datalogics, предлагает PDFOptimizer продукт, который можно автоматизировать для удаления избыточных ресурсов.

...