Как получить информацию о шрифте выделенного текста в формате PDF с помощью pdfbox - PullRequest
0 голосов
/ 01 мая 2018

У меня есть координаты выделенного текста в формате PDF. И я использую PDFTextStripperByArea, чтобы добавить и извлечь регион, чтобы получить текстовую информацию.

Но я хочу получить информацию о шрифте выбранного текста. Когда я использую метод getResources () класса PDFTextStripperByArea, он возвращает null. Вот пример кода -

    PDFTextStripperByArea stripper = new PDFTextStripperByArea();
    stripper.setSortByPosition(true);
    Rectangle2D rect = new Rectangle(96, 150, 101, 11);
    stripper.addRegion("selectedText", rect);
    PDPage firstPage = document.getPage(0);
    stripper.extractRegions(firstPage);
    System.out.println(stripper.getTextForRegion("selectedText"));
    PDResources resources = stripper.getResources();
    // gives a null pointer exception for resources object in the below line
    for (COSName fontName : resources.getFontNames())
    {
        PDFont font = resources.getFont(fontName);

        System.out.println(font.getFontDescriptor().getFontName());
        System.out.println(font.getFontDescriptor().getFontFamily());
        System.out.println(font.getFontDescriptor().getFontWeight());
        System.out.println(font.getName());
        System.out.println(font.getSubType());
    }

Я что-то не так делаю или есть другой способ добиться этого?

...