pdfbox-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tilman Hausherr <THaush...@t-online.de>
Subject Re: https://issues.apache.org/jira/browse/PDFBOX-2523 still present (or variation of it still present)
Date Sun, 01 Mar 2015 15:57:06 GMT
Am 25.02.2015 um 00:04 schrieb Steve Antoch:
> We are planning on running a large breadth test on approximately 108,000 pdfs starting
tonight.  I will let you know how this test goes.  It will take about 4 days to complete.

If possible, it would be nice to test preflight as well. Just use the 
code below, plus the preflight-app jar, and the levigo and jai plugins. 
It will produce one .txt file in the current directory for every 
exception that isn't a ValidationException. Most problems that occur 
with rendering will happen with preflight as well, and the test is 
faster. 100000 files might be done in 24 hours.

If any exceptions occur, please post them here.

Tilman


package com.mycompany.preflightmasstest;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FilenameFilter;
import java.io.PrintWriter;
import org.apache.pdfbox.preflight.PreflightDocument;
import org.apache.pdfbox.preflight.exception.ValidationException;
import org.apache.pdfbox.preflight.parser.PreflightParser;

/**
  *
  * @author Tilman Hausherr
  */
public class PreflightMassTest
{
     public static void main(String[] args) throws FileNotFoundException
     {

         File dir = new File(args[0]);

         int total = 0;
         int failed = 0;
         File[] dirList = dir.listFiles(new FilenameFilter()
         {
             @Override
             public boolean accept(File dir, String name)
             {
                 return name.toLowerCase().endsWith(".pdf");
             }
         });
         for (File pdf : dirList)
         {
             ++total;

             System.out.println(pdf.getName());
             // just test that it doesn't crash
             try
             {
                 new File(pdf.getName() + "-exception.txt").delete();
                 PreflightParser parser = new PreflightParser(pdf);
                 parser.parse();
                 try (PreflightDocument preflightDocument = 
parser.getPreflightDocument())
                 {
                     preflightDocument.validate();
                     preflightDocument.getResult();
                 }
                 parser.close();
             }
             catch (ValidationException e)
             {
             }
             catch (Throwable e)
             {
                 ++failed;
                 try (PrintWriter pw = new PrintWriter(new 
File(pdf.getName() + "-exception.txt")))
                 {
                     e.printStackTrace(pw);
                 }
                 System.out.flush();
                 System.err.flush();
                 System.err.print(pdf.getName() + " preflight fail: ");
                 e.printStackTrace();
                 System.out.flush();
                 System.err.flush();
             }
             System.out.println("total: " + total + ", failed: " + 
failed + ", percentage failed: " + (((float) failed) / total * 100.0) + 
"%");
         }

     }

}


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: users-help@pdfbox.apache.org


Mime
View raw message