2013-04-17 4 views
0

Я пытаюсь преобразовать PDF в tiff-изображение. Я получил его работу, используя pdfbox, но изображение слишком велико.PDFBox конвертировать PDF в TIFF. Уменьшить размер изображения в байтах

Скажем, мой размер PDF является 224kb => размер = 1.4MB

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

Вот некоторые из кода:

TIFFImageWriterSpi tiffspi = new TIFFImageWriterSpi(); 
writer = tiffspi.createWriterInstance(); 
ImageWriteParam param = writer.getDefaultWriteParam(); 
TIFFImageWriteParam param2 = (TIFFImageWriteParam) writer.getDefaultWriteParam(); 
param2.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); 

param2.setCompressionType("LZW"); 
param2.setCompressionQuality(1.0f); 

writer.setOutput(output); 
writer.write(null,new IIOImage(image,null,null),param2); 
+2

* «Как я могу уменьшить размер файла tiff без потери качества?» * Magic? –

+0

Но разве это не возможно сделать его меньшим с некоторыми настройками, или это нормально, что эти файлы tiff настолько велики, когда PDF-файл невелик? – user1345883

+0

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

ответ

2

Вот некоторые рекомендации:

  • соответствуют цветам на ваш выход. Если вы выполняете рендеринг в черном и белый, используйте двузначный вывод, который переводится в один бит на пиксель. Если у вас есть несколько цветов без слишком большого затенения или смешивания, например, раскраски или графика в стиле мультфильма, используйте 256 цветов. Только использовать полный цвет, если у вас есть фотографии в PDF. Если у вас есть , произведите полный цвет, ваш поиски малости обречены.
  • Совместите сжатие с глубиной цвета. Для монохромного использования CCITT T.4 или CCITT T.6, которые являются более эффективными для бит-последовательностей . LZW работает лучше всего на байтовых последовательностях, таких как 256-цветные. Если вам нужно произвести полный цвет, ваша единственная надежда на достойное сжатие - jpeg, но это будет путать ваш текст и линии.
Смежные вопросы