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