Создайте изображение миниатюр для PDF в Java

Я ищу библиотеку Java, что желание может взять PDF и создать изображение миниатюр (PNG) из первой страницы.

Я уже посмотрел на JPedal, но его безумный лицензионный сбор абсолютно препятствует. Я использую iText для управления файлами PDF в данный момент, но я полагаю, что он не делает поколения миниатюры. Я могу использовать что-то как Ghostscript на командной строке, но я надеюсь сохранить свой все-Java проекта, если это возможно.

24
задан Shaggy Frog 16 May 2010 в 18:35
поделиться

2 ответа

PDF Renderer - это чистая java-библиотека с лицензией LGPL, которая упрощает эту задачу (взято из их примера страницы):

File file = new File("test.pdf");
RandomAccessFile raf = new RandomAccessFile(file, "r");
FileChannel channel = raf.getChannel();
ByteBuffer buf = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size());
PDFFile pdffile = new PDFFile(buf);

// draw the first page to an image
PDFPage page = pdffile.getPage(0);

//get the width and height for the doc at the default zoom 
Rectangle rect = new Rectangle(0,0,
                (int)page.getBBox().getWidth(),
                (int)page.getBBox().getHeight());

//generate the image
Image img = page.getImage(
                rect.width, rect.height, //width & height
                rect, // clip rect
                null, // null for the ImageObserver
                true, // fill background with white
                true  // block until drawing is done
                );
23
ответ дан 29 November 2019 в 00:08
поделиться

PDF Renderer хорош до тех пор, пока вы используете только подмножество PDF файлов, которые они используют. С JPod и JPedal вы платите за активную и развитую библиотеку, а не за мертвый проект.

5
ответ дан 29 November 2019 в 00:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: