importcom.itextpdf.awt.geom.Rectangle2D.Float;importcom.itextpdf.text.pdf.PdfDictionary;importcom.itextpdf.text.pdf.PdfName;importcom.itextpdf.text.pdf.PdfReader;import com.itextpdf.text.pdf.parser.*;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;/*** 消失的太阳*/
public classMyTest {public static void main(String[] args) throwsIOException {//1.给定文件
File pdfFile = new File("D://test.pdf");//2.定义一个byte数组,长度为文件的长度
byte[] pdfData = new byte[(int) pdfFile.length()];//3.IO流读取文件内容到byte数组
FileInputStream inputStream = null;try{
inputStream= newFileInputStream(pdfFile);
inputStream.read(pdfData);
}catch(IOException e) {throwe;
}finally{if (inputStream != null) {try{
inputStream.close();
}catch(IOException e) {
}
}
}//4.指定关键字
String keyword = "消失的太阳:";//5.调用方法,给定关键字和文件
List positions =findKeywordPostions(pdfData, keyword);//6.返回值类型是 List 每个list元素代表一个匹配的位置,分别为 float[0]所在页码 float[1]所在x轴 float[2]所在y轴
System.out.println("total:" +positions.size());if (positions != null && positions.size() > 0) {for (float[] position : positions) {
System.out.print("pageNum: " + (int) position[0