如何在Java中Apache PDFBox中确定页面中的行数?
我需要将每个页面拆分为三个不同的页面,以便对每个部分进行一些统计。然后,我需要确定页面有多少行。在那之后,我需要遍历每一行,并在新页面中写出尽可能多的行。
我想知道是否可以使用PDFBox
。 (我对这个库很新,需要快速解决)
答案 0 :(得分:3)
查看我为您制作的这个示例,希望它有所帮助
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.util.PDFTextStripper;
import java.io.*;
import java.util.List;
/**
* Created by ljcp on 5/25/15.
*/
public class TestReadLinePdf {
public static void main(String [] args) {
try {
File pdfFile = new File("/Users/ljcp/Desktop/test2.pdf");
PDDocument pdDocument = PDDocument.load(pdfFile);
List allPages = pdDocument.getDocumentCatalog().getAllPages();
for (int i = 1; i <= allPages.size(); i++) {
PDFTextStripper stripper = new PDFTextStripper();
stripper.setStartPage(i);
stripper.setEndPage(i);
String text = stripper.getText(pdDocument).replaceAll("visiblespace", " ");
String[] lines = text.split("\n");
System.out.println("Page Number " + i + " lines " + lines.length);
}
} catch(Exception e){
System.out.print(e);
}
}
}