2016-04-14 5 views
1

Я пытаюсь объединить изображения в формате JPG со стандартными документами PDF, сохраняя изображения одного размера. Раньше я использовал ImageMagick конвертер, но он приводит к огромному капли качества, поскольку он преобразует все в изображения, поэтому я перехожу к ghostscript (или, в конце концов, к нему).Преобразование изображения JPG в PDF без изменения размера изображения с помощью ghostscript или itext

this code я нашел, который вставляет масштабируемое изображение на страницу формата А4:

gs \ 
-sDEVICE=pdfwrite \ 
-o foo.pdf \ 
    /usr/local/share/ghostscript/8.71/lib/viewjpeg.ps \ 
-c \(my.jpg\) viewJPEG 

PDFWriter из itextpdf в this way или that way может быть альтернативой, но она также добавляет изображение на страницу.

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

gs -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 -sDEVICE=pngalpha -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r72x72 -sOutputFile=out_gs.pdf fox_big.jpg 
+1

Это странно: когда вы говорите о iText, вы ссылаетесь на статьи на двух неясных веб-сайтах, которые никак не связаны с iText. Я ожидаю, что вы будете ссылаться на статьи на [официальном сайте iText] (http://developers.itextpdf.com/). Есть ли причина, почему вы не используете веб-сайт iText при работе с iText? –

+0

У меня сложилось впечатление, что существует целая _ecosystem_ из плохих учебников, обычно устаревшая копия кода/вставленная вместе, с единственной целью генерации просмотров страниц ... –

+1

Я нашел первую ссылку на другой вопрос SO, связанный с этим текстом. При поиске «itext jpg pdf» в google я нашел вторую ссылку в качестве первого результата, когда ваша страница была 9-й. Я обещаю сделать лучше resarch, прежде чем задавать вопрос в будущем. – wojteo

ответ

2

Ответ на ваш вопрос можно найти на официальном веб-сайте IText: How to add multiple images into a single PDF?

В MultipleImages примере, мы берем выбор изображений, и мы конвертировать их в PDF: multiple_images.pdf

размер страницы устанавливается в соответствии с размером изображения:

для первого изображения:

Image img = Image.getInstance(IMAGES[0]); 
Document document = new Document(img); 

Как вы можете видеть, мы передаем img конструктору Document. Это работает, потому что Image расширяет класс Rectangle.

Для последующих изображений, мы изменяем размер страницы:

document.setPageSize(img); 

Обратите внимание, что мы также должны установить абсолютное положение:

img.setAbsolutePosition(0, 0); 

Пожалуйста, перейдите к official web site, когда вы хотите найти информация и примеры на iText. Я потратил много месяцев на запись всего этого контента и размещение его на веб-сайте. Это расстраивает, когда я вижу, что люди не используют всю эту работу. (Похоже, я потратил свое время.)