确定PDF页面中的行数

时间:2015-05-25 16:20:59

标签: java pdf pdfbox

如何在Java中Apache PDFBox中确定页面中的行数?

我需要将每个页面拆分为三个不同的页面,以便对每个部分进行一些统计。然后,我需要确定页面有多少行。在那之后,我需要遍历每一行,并在新页面中写出尽可能多的行。

我想知道是否可以使用PDFBox。 (我对这个库很新,需要快速解决)

1 个答案:

答案 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);
        }
    }
}