Apache PDFBox2: невозможно извлечь штрих-код - PullRequest
0 голосов
/ 19 июня 2020

У меня есть PDF-документ с 2 изображениями и текстом, и ожидался штрих-код как одно из изображений. Мне удалось извлечь другое изображение и текстовое содержимое. Но штрих-код не возвращается ни как изображение, ни как текстовый контекст. Как мне извлечь штрих-код

Я переопределил PDFStreamEngine

@Override
protected void processOperator( Operator operator, List<COSBase> operands) throws IOException
{
    String operation = operator.getName();
    if( "Do".equals(operation) )
    {
        COSName objectName = (COSName) operands.get( 0 );
        PDXObject xobject = getResources().getXObject( objectName );
        if( xobject instanceof PDImageXObject)
        {
            PDImageXObject image = (PDImageXObject)xobject;
            int imageWidth = image.getWidth();
            int imageHeight = image.getHeight();

            // same image to local
            BufferedImage bImage = new BufferedImage(imageWidth,imageHeight,BufferedImage.TYPE_INT_ARGB);
            bImage = image.getImage();
            ImageIO.write(bImage,"PNG",new File("c:\\temp\\image_"+imageNumber+".png"));
            System.out.println("Image saved.");
            imageNumber++;

        }
        else if( xobject instanceof PDFormXObject)
        {
           System.out.println("Form Object");
        }
        else if (xobject instanceof PDTransparencyGroup) {
            System.out.println("Transparency");
        }


    }
    else
    {
        super.processOperator( operator, operands);
    }
}

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

 PDPageTree list = document.getPages();
        for (PDPage page : list) {
          PDResources pdResources = page.getResources();
          for (COSName c : pdResources.getXObjectNames()) {
            PDXObject o = pdResources.getXObject(c);
            System.out.println("COS " + c.getName());

          }
        }
...