PDF для изображения с использованием Java

Я хочу конвертировать PDF-страницы в изображение (PNG, JPEG / JPG или GIF). Я хочу, чтобы они были полностраничными.

Как это можно сделать с помощью Java? Какие библиотеки доступны для достижения этого?

Вам понадобится рендеринг PDF. На рынке есть несколько более или менее хороших (ICEPdf, pdfrenderer), но без них вам придется полагаться на внешние инструменты. Бесплатные рендереры PDF также не могут отображать встроенные шрифты, и это будет полезно только для создания миниатюр (чего вы в конечном итоге хотите).

Моим любимым внешним инструментом является Ghostscript, который может конвертировать PDF-файлы в изображения с помощью одного вызова командной строки.

Это преобразует файлы Postscript (и PDF?) В bmp для нас , как руководство для изменения для ваших нужд (знайте, что вам нужны env vars для работы gs!):

pushd setlocal Set BIN_DIR=C:\Program Files\IKOffice_ACME\bin Set GS=C:\Program Files\IKOffice_ACME\gs Set GS_DLL=%GS%\gs8.54\bin\gsdll32.dll Set GS_LIB=%GS%\gs8.54\lib;%GS%\gs8.54\Resource;%GS%\fonts Set Path=%Path%;%GS%\gs8.54\bin Set Path=%Path%;%GS%\gs8.54\lib call "%GS%\gs8.54\bin\gswin32c.exe" -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE#bmpmono -r600x600 -sOutputFile#%2 -f %1 endlocal popd 

В библиотеке Ghost4J (http://ghost4j.sourceforge.net), начиная с версии 0.4.0, вы можете использовать SimpleRenderer для выполнения задания несколькими строками кода:

  1. Загрузите файл PDF или PS (используйте для этого class PSDocument):

      PDFDocument document = new PDFDocument(); document.load(new File("input.pdf")); 
  2. Создание рендеринга

      SimpleRenderer renderer = new SimpleRenderer(); // set resolution (in DPI) renderer.setResolution(300); 
  3. оказывать

      List images = renderer.render(document); 

Затем вы можете делать то, что хотите, с объектами изображения, например, вы можете записать их как PNG следующим образом:

  for (int i = 0; i < images.size(); i++) { ImageIO.write((RenderedImage) images.get(i), "png", new File((i + 1) + ".png")); } 

Примечание. Ghost4J использует собственный API Ghostscript C, поэтому вам необходимо установить Ghostscript на вашем поле.

Надеюсь, это поможет вам 🙂

Apache PDF Box может конвертировать PDF-файлы в jpg, bmp, wbmp, png и gif.

В библиотеку также входит утилита командной строки под названием PDFToImage .

Если вы загружаете исходный код и смотрите на class PDFToImage, вы должны выяснить, как использовать PDF Box для преобразования PDF-файлов в изображения с вашего собственного кода Java.

Взгляните на статьи:

1) PdftoImage-Преобразование PDF в изображение с использованием библиотеки PdfRenderer , прямая ссылка на исходный код
2) Java: создание PDF и предварительный просмотр его как изображения – iText и PDF Renderer

jPDFImages не является бесплатной, а представляет собой коммерческую библиотеку, которая преобразует PDF-страницы в изображения в формате JPEG, TIFF или PNG. Размер выходного изображения настраивается.

Если GPL в порядке, вы можете дополнительно посмотреть на jPodRenderer (SourceForge)

  • Почему Word 2010 создает такие огромные файлы PDF?
  • Пакетный выпуск - создание папок и перемещение документов
  • Можно ли печатать в PDF с терминала Mac?
  • Есть ли PDF для конвертера Mobi?
  • Остановить Microsoft Word 2010 от сглаживания скриншотов?
  • Почему Adobe Reader имеет внутреннюю ошибку при копировании текста в буфер обмена?
  • Чтение содержимого PDF с помощью itextsharp dll в VB.NET или C #
  • Преобразование PDF в миниатюру в Java
  • Использование Ghostscript для преобразования многостраничного PDF в один JPG?
  • Добавление таблицы в существующий PDF на той же странице - ITEXT
  • Чтение PDF с использованием itextsharp, где язык PDF не является английским
  • Давайте будем гением компьютера.