package demo; import java.io.File; import java.io.IOException; import java.util.Iterator; import java.util.List; import at.gv.egiz.pdfas.api.analyze.NonTextObjectInfo; import at.gv.egiz.pdfas.api.io.DataSource; import at.gv.egiz.pdfas.impl.api.commons.PdfDataSourceAdapter; import at.gv.egiz.pdfas.io.FileBasedDataSource; import at.knowcenter.wag.egov.egiz.PdfAS; public class ExtractNonTextualObjectsDemo { /** * Disable instantiation. */ private ExtractNonTextualObjectsDemo() { } /** * Starts a demo that extracts non-textual elements from a document. * * @param args * The parameter(s). */ public static void main(String[] args) { if (args == null || args.length == 0) { System.err.println("Please provide path of file to be analyzed."); System.exit(1); } File testFile = new File(args[0]); try { // set source DataSource dataSource = new FileBasedDataSource(testFile, "application/pdf"); List nonTextualObjects = PdfAS.extractNonTextualObjects(new PdfDataSourceAdapter(dataSource)); if (nonTextualObjects != null && !nonTextualObjects.isEmpty()) { System.out.println(nonTextualObjects.size() + " non-textual object(s) found."); Iterator noit = nonTextualObjects.iterator(); while (noit.hasNext()) { NonTextObjectInfo info = (NonTextObjectInfo) noit.next(); System.out.println(" -> " + info.toString()); } } else { System.out.println("No non-textual objects found."); } } catch (IOException e) { e.printStackTrace(); } } }