Уменьшить размер файла PDF

Я использовал надстройку pdfHTML в iText 7 для создания доступного PDF-файла. Созданный PDF-файл имеет большой размер. Например, 17-страничный PDF-файл имеет размер 3709 КБ. Я использовал приведенный ниже код для сжатия PDF-файла.

SetFullCompressionMode(true)
SetCompressionLevel(CompressionConstants.BEST_COMPRESSION)

Он немного уменьшил размер файла с 3709 КБ до 3396 КБ.

Есть ли другой способ уменьшить размер файла PDF?


person Anuk Samarasinghe    schedule 27.09.2018    source источник
comment
Было бы здорово, если бы вы могли предоставить минимально воспроизводимый пример.   -  person mjwills    schedule 27.09.2018
comment
PDF-файл состоит из множества изображений (jpeg, png)?   -  person Alessandro R    schedule 27.09.2018
comment
для справки 25-страничный PDF-файл, который у меня сейчас есть, составляет 866 КБ ... Я бы сказал, выберите другую библиотеку ... есть довольно много вариантов   -  person hellyale    schedule 27.09.2018
comment
Нет, у него больше нет изображений. Есть одно изображение (32КБ), абзацы и таблицы.   -  person Anuk Samarasinghe    schedule 27.09.2018
comment
Хорошо, опубликуйте ссылку на сгенерированный PDF-файл, возможно, если мы посмотрим на его содержимое, это может помочь ... Я использовал iText 7 (iTextSharp) много лет, и он отлично работает. Размер файла определяется содержимым, которое он содержит. 5-страничный PDF-файл может легко занимать 20 МБ, поэтому ссылка на @hellyale не так интуитивно понятна ...   -  person Morgs    schedule 27.09.2018
comment
@Morgs, 5-страничный pdf размером 20 МБ - это рак, просто потому, что вы можете, не означает, что вам следует. stackoverflow.com/a/612784/4645236   -  person hellyale    schedule 27.09.2018
comment
В дополнение к pdf, пожалуйста, разместите достаточно кода, чтобы мы могли понять, как вы создаете pdf, и чтобы мы могли дать вам советы, как улучшить ваш код. Например: если вы используете несколько объектов шрифта и каждый раз встраиваете весь шрифт, а не только его подмножество, размер вашего PDF-файла, очевидно, резко возрастет.   -  person mkl    schedule 27.09.2018
comment
@UweKeim поднимает пользовательский флаг мода (вместо того, чтобы оставлять комментарий), когда вы видите такие вещи, и мы расследуем мошенничество при голосовании.   -  person    schedule 27.09.2018
comment
Не могли бы вы открыть полученный документ в Acrobat (Pro), перейти в меню «Файл» - ›« Сохранить как оптимизированный »и в этом диалоговом окне просмотреть результаты использования пространства аудита. Это должно дать вам несколько подсказок, где искать дальше. Обычно подозреваемыми являются изображения, шрифты и / или текст, преобразованные в контуры.   -  person Max Wyss    schedule 27.09.2018
comment
Я заглянул в меню Файл - ›Сохранить как оптимизированный, здесь шрифты использовали 47,6%, а накладные расходы документа - 47,99%. Как уменьшить использование шрифтов?   -  person Anuk Samarasinghe    schedule 28.09.2018
comment
Как уменьшить использование шрифтов? - улучшив способ использования шрифтов. Для получения более подробной информации вы, очевидно, должны поделиться информацией, запрошенной в предыдущих комментариях.   -  person mkl    schedule 28.09.2018


Ответы (1)


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

pdfFontFactory.CreateFont(font,pdfEncordings.IDENTITY_H,true);

Я удалил его, создал шрифт один раз и передал его каждому событию. Затем размер страницы уменьшается с 3709 КБ до 2150 КБ.

person Anuk Samarasinghe    schedule 01.10.2018