spire.office读取pdf巧妙的摆脱10页的限制

spire.office免费版读取pdf,是获取不到10页以后的数据的,特研究出一种方式来解决:《拆分法》!

  1. 将pdf按照每10页拆分计算份数
PdfDocument pdf = new PdfDocument(multipartFile.getBytes());
int num = pdf.getPages().getCount();//获取页数
//由于spire.office只可以获取前10页的pdf内容,所以拆分pdf
int copies = num / 10;//份数
int remainder = num % 10;//取余
if (remainder > 0) {
    copies++;//取余大于0,份数加1
   }

  1. 循环拆分的pdf,并做相应的业务处理
for (int j = 0; j < copies; j++) {
     PdfDocument doc = new PdfDocument();
     int start = j * 10;//拆分读取的起始页
     int end = (start + 9) > num - 1 ? num - 1 : start + 9;//结尾页
     doc.insertPageRange(pdf, start, end);//将读取到的数据初始话到新的PdfDocument 里面
     //创建一个PdfTableExtractor实例
      PdfTableExtractor extractor = new PdfTableExtractor(doc);
       for (int i = 0; i < 10; i++) {//将拆分出的新的PdfDocument 循环每一页做业务处理
           if (j == (copies - 1) && i == remainder) {
                break;
            }
           //业务代码(可以提取文字、表格、图片等做相应的业务处理)
        }
      doc.close();
  }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。