关于利用pdfbox代码解析PDF表格的一个案例

首先:我们要了解以下的代码含义:

Rectangle rectFirstPage = new Rectangle( 220, 130, 130, 900 );

关于利用pdfbox代码解析PDF表格的一个案例_第1张图片
他其实对应的就是以下图示内容:

关于利用pdfbox代码解析PDF表格的一个案例_第2张图片

其次:上代码

      PDDocument document = PDDocument.load(new File("E:\\2018workFolderShun\\chinaCC测试\\财务\\2017-4分类.pdf"));
      PDFTextStripper textStripper = new PDFTextStripper();
//      System.out.println(textStripper.getText(document));
//      document.close();
      PDFTextStripperByArea stripper = new PDFTextStripperByArea();
      
      stripper.setSortByPosition( true );
      Rectangle rectFirstPage = new Rectangle( 220, 130, 130, 900 );
      stripper.addRegion( "class1", rectFirstPage );
      PDPageTree allPages = document.getDocumentCatalog().getPages();
      PDPage firstPage = (PDPage)allPages.get(0);
      stripper.extractRegions( firstPage );
      System.out.println( stripper.getTextForRegion( "class1" ) );
      System.err.println("-------------------------------");
      Rectangle rectFrom2 = new Rectangle( 220, 70, 130, 900 );
      stripper.addRegion( "class1", rectFrom2 );
      for (int i = 1; i < allPages.getCount(); i++) {
          firstPage = (PDPage)allPages.get(i);
          stripper.extractRegions( firstPage );
          System.out.println( stripper.getTextForRegion( "class1" ) );
	}

最后:依赖包


你可能感兴趣的:(web,Java)