package tools;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.pdfbox.cos.COSDocument;
import org.apache.pdfbox.pdfparser.PDFParser;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.util.PDFTextStripper;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.parser.ImageRenderInfo;
import com.itextpdf.text.pdf.parser.PdfReaderContentParser;
import com.itextpdf.text.pdf.parser.RenderListener;
import com.itextpdf.text.pdf.parser.TextRenderInfo;
public class Demo {
private static String KEY_WORD = "20";
private static int i = 0;
static List<float[]> arrays = new ArrayList<float[]>();
static String sb ;
private static List<float[]> getKeyWords(String filePath) {
try {
PdfReader pdfReader = new PdfReader(filePath);
int pageNum = pdfReader.getNumberOfPages();
System.out.println("pageNum"+pageNum);
PdfReaderContentParser pdfReaderContentParser = new PdfReaderContentParser(pdfReader);
// System.out.println("pdfReaderContentParser"+pdfReaderContentParser);
for (i = 1; i <= pageNum; i++) {
pdfReaderContentParser.processContent(i, new RenderListener() {
@Override
public void renderText(TextRenderInfo textRenderInfo) {
String text = textRenderInfo.getText(); // 整页内容
System.out.println("text"+text);
if (null != text && text.contains(KEY_WORD)) {
java.awt.geom.Rectangle2D.Float boundingRectange = textRenderInfo.getBaseline().getBoundingRectange();
System.out.println("boundingRectange"+boundingRectange);
sb = boundingRectange.x+"--"+boundingRectange.y+"---";
float[] resu = new float[3];
resu[0] = boundingRectange.x;
resu[1] = boundingRectange.y;
resu[2] = i;
arrays.add(resu);
}
}
@Override
public void renderImage(ImageRenderInfo arg0) {
// TODO Auto-generated method stub
}
@Override
public void endTextBlock() {
// TODO Auto-generated method stub
}
@Override
public void beginTextBlock() {
// TODO Auto-generated method stub
}
});
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return arrays;
}
@SuppressWarnings("static-access")
public static void main(String[] args) {
Demo demo = new Demo();
demo.getKeyWords("D://江苏鼎阳demo.pdf");
System.out.println(sb);
}
}