Advertisement
Guest User

PDTokensParse

a guest
Jun 20th, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.71 KB | None | 0 0
  1.  
  2. import org.apache.pdfbox.contentstream.operator.Operator;
  3. import org.apache.pdfbox.pdfparser.PDFStreamParser;
  4. import org.apache.pdfbox.pdmodel.PDDocument;
  5. import org.apache.pdfbox.pdmodel.PDPage;
  6.  
  7. import java.io.File;
  8. import java.util.List;
  9.  
  10. public class ParsePDTokens {
  11.     public static void printContent(String pdfFile, int pageNumber) throws Exception {
  12.  
  13.         PDDocument doc = PDDocument.load(new File(pdfFile));
  14.         PDPage page = doc.getPage(pageNumber);
  15.         PDFStreamParser parser = new PDFStreamParser(page);
  16.         parser.parse();
  17.         List<Object> tokens = parser.getTokens();
  18.         int lines=0;
  19.         int curves=0;
  20.         int rectangles=0;
  21.         int doOps=0;
  22.         int clipPaths=0;
  23.         for (Object token:tokens){
  24.             if (token instanceof Operator) {
  25.                 Operator op=(Operator) token;
  26.                 if ("do".equals(op.getName()))
  27.                     doOps+=1;
  28.                 else if ("W".equals(op.getName())|| "W*".equals(op.getName()))
  29.                     clipPaths+=1;
  30.                 else if ("l".equals(op.getName()) || "h".equals(op.getName()))
  31.                     lines+=1;
  32.                 else if ("c".equals(op.getName())||"y".equals(op.getName()) ||"v".equals(op.getName())){
  33.                     System.out.println(op);
  34.                     curves+=1;
  35.                 }
  36.                 else if ("re".equals(op.getName()))
  37.                     rectangles+=1;
  38.  
  39.  
  40.             }
  41.         }
  42.         System.out.println(lines+","+curves+","+rectangles+","+doOps+","+clipPaths);
  43.  
  44.     }
  45.  
  46.  
  47.  
  48.     public static void main(String[] args) throws Exception{
  49.         String loc="src/test/resources/test.pdf";
  50.         printContent(loc,4);
  51.     }
  52.  
  53.  
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement