Зависает PDFRenderer при конвертации pdf в jpeg

Подскажите, зависает PDFRenderer при конвертации pdf в картинку:

public static List<ImageIcon> convertToImageList(InputStream is) throws IOException, Exception
{
    List<ImageIcon> imageIcons = new ArrayList<ImageIcon>();

    PDDocument document = PDDocument.load(is);
    PDFRenderer pdfRenderer = new PDFRenderer(document);
    for (int page = 0; page < document.getNumberOfPages(); ++page)
    { 
        BufferedImage image = null;

        try 
        {
            image = pdfRenderer.renderImageWithDPI(page, RESOLUTION_DEFAULT, ImageType.BINARY);
        } 
        catch (OutOfMemoryError oome) 
        {
            long heapMaxSize = Runtime.getRuntime().maxMemory();
            System.out.println("Не достаточно памяти для преобразования  PDF в JPG. Разрешение: " + RESOLUTION_DEFAULT
                    + ". Максимальный размер в байтах (Heap of Memory): " + heapMaxSize);

            try
            {
                System.out.println("Вторая попатка преобразования PDF в JPG с разрешением: " + RESOLUTION_MIN);
                image = pdfRenderer.renderImageWithDPI(page, RESOLUTION_MIN, ImageType.RGB);
            }
            catch (OutOfMemoryError e) {
                throw new Exception("Не достаточно памяти для преобразования  PDF в JPG. Разрешение: " + RESOLUTION_MIN
                        + ". Максимальный размер в байтах (Heap of Memory): " + heapMaxSize);
            }
        }

        imageIcons.add(new ImageIcon(image));
    }
    document.close();

    return imageIcons;
}

Доходит до строчки image = pdfRenderer.renderImageWithDPI(page, RESOLUTION_DEFAULT, ImageType.BINARY); и виснет в логах. Нет ошибки и ничего не выводится. Программа не крашится, эксепшены не вылетают, предыдущие pdf файлы конвертируются.


Ответы (0 шт):