2013-04-03 2 views
3

У меня есть много изображений в формате JPG, которые должны быть встроены в полученный PDF. Они имеют довольно большое разрешение и составляют около 5-10 МБ каждый. Я хочу внедрить их в PDF в качестве предварительного просмотра, и я использую атрибут XSL-FO, соответствующий размеру. Изображения отображаются в PDF правильно изменен, но размер полученного PDF-файла довольно большой, в основном сумма всех размеров изображения. Мне любопытно, что лучший способ (возможные способы) уменьшить размер PDF без предварительной обработки изображений на отдельном этапе перед созданием PDF? (так, чтобы размер PDF был равен сумме размеров всех изображений, если они были такими же маленькими, как они указаны в PDF)Apache-FOP - уменьшает размеры изображений, встроенных в PDF

Большое спасибо!

+0

Я в конечном итоге предварительной обработки изображений и ссылок XSL-FO для изменения размеров их копий – Vyacheslav

ответ

1

У вас есть два варианта:

  1. постобработку PDF. Вы можете открыть его в Acrobat и сохранить его, используя вариант «уменьшить размер файла».

  2. использовать другой формат форматирования. например форматер Antennahouse может отображать .

-1

Я использую Apache FOP 1.1. В соответствии с моим пониманием ваше требование заключается в том, что вы хотите уменьшить размер изображения.

<fo:external-graphic 
    src="url('image path')" 
    content-height="2cm" 
    height="2cm" 
    content-width="2cm" 
    scaling="non-uniform" > 
</fo:external-graphic> 

Здесь важная часть является масштабированием атрибута. Он может иметь из трех значений 1. равномерно - по умолчанию, если вы не указали 2.non-uniform - он будет соответствовать ширине содержимого и высоте содержимого. 3.inherit

Для вашего требования вы должны определить масштабирование для неравномерного. Это означает, что он не будет поддерживать пропорции изображения. Спасибо

вы можете обратиться http://www.schemacentral.com/sc/fo11/e-fo_external-graphic.html

+1

Как бы «масштабирование» атрибут поможет уменьшить его размер файла? Ему нужна понижающая дискретизация, а не изменение размера. И неравномерное масштабирование задает проблемы, вам нужно указать высоту и ширину для каждого изображения или риск их искажения. – Hobbes

+0

Согласитесь с комментарием Гоббса, этот ответ вводит в заблуждение, поскольку он смешивает между понижающей дискретизацией и изменением размера – remi

 Смежные вопросы

  • Нет связанных вопросов^_^