Преобразование PDF в изображения с помощью PdfBox

Когда PDF (заполняемый) конвертируется в Jpeg с помощью Pdfbox, галочка в поле флажка преобразуется в символ поля

ПРЕДУПРЕЖДЕНИЕ [org.apache.pdfbox.rendering.Type1Glyph2D] Нет глифа для кода 52 (a20) в шрифте ZapfDingbats

public static void main (String [] args) выдает исключение {

    try (final PDDocument document = PDDocument.load(new File("C:\\Users\\priyadarshini.s\\Downloads\\ADWE3244_Merge(1).pdf"))){

        ClassLoader classloader = Thread.currentThread().getContextClassLoader();
        InputStream is = classloader.getResourceAsStream("zapfdingbats.ttf");

        PDFRenderer pdfRenderer = new PDFRenderer(document);
        PDFont font = PDType0Font.load(document,is); //PDTrueTypeFont.loadTTF(document, new File( "c:/arial.ttf" ));
        //font.s sesetWidths(PDType1Font.HELVETICA.getWidths());


        for (int page = 0; page < document.getNumberOfPages(); ++page)
        {

            BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB);

            String fileName = OUTPUT_DIR + "image-" + page + ".jpg";
            ImageIOUtil.writeImage(bim, fileName, 300);
        }


        document.close();


    } catch (IOException e){
        System.err.println("Exception while trying to create pdf document - " + e);
    }
}

Как установить шрифт PDF в код изображения?


person PDS    schedule 14.11.2018    source источник


Ответы (1)


Проблема может быть связана со шрифтами. (Zapf Dingbats и / или MS Gothic могут отсутствовать)

Можете ли вы попробовать установить отсутствующие шрифты в каталог "./fonts" или "/ usr / share / fonts" для Linux,

«/ Windows / Fonts» для Windows

person yusuf hayırsever    schedule 14.11.2018
comment
WARN [org.apache.pdfbox.rendering.Type1Glyph2D] Нет глифа для кода 52 (a20) в шрифте ZapfDingbats 2018-11-13 20: 01: 01,280 WARN [org.apache.pdfbox.pdmodel.font.PDType1Font] Использование резервного шрифта LiberationSans для ZapfDingbats, где мне установить на сервере AIX? - person PDS; 14.11.2018
comment
Ссылка issues.apache.org/jira/browse/PDFBOX-1296, ссылка issues.apache.org/jira/browse/PDFBOX-490 - person yusuf hayırsever; 14.11.2018
comment
Вам не нужно устанавливать шрифт в коде. Вам необходимо установить его в вашей системе. Если вы не знаете, как установить шрифт (скорее всего, вы просто скопируете его туда), спросите своего администратора или создайте каталог .fonts в своем домашнем каталоге и скопируйте шрифт туда. - person Tilman Hausherr; 14.11.2018
comment
Но есть ли способ сделать это в самом коде? - person PDS; 15.11.2018
comment
Нет, потому что fontbox проверяет содержимое файловой системы в заранее определенных местах. - person Tilman Hausherr; 15.11.2018