// // PDFNet Copyright (c) 2001-2008 by PDFTron Systems Inc. All Rights Reserved. // using System; using pdftron; using pdftron.Common; using pdftron.Filters; using pdftron.SDF; using pdftron.PDF; namespace ElementReaderTestCS { /// /// Summary description for Class1. /// class Class1 { static void ProcessElements(ElementReader reader) { Element element; while ((element = reader.Next()) != null) // Read page contents { switch (element.GetType()) { case Element.Type.e_path: // Process path data... { double[] data = element.GetPathPoints(); int sz = element.GetPointCount(); Console.WriteLine("Process Element.Type.e_path"); break; } case Element.Type.e_image: case Element.Type.e_inline_image: { // Process images... Console.WriteLine("Process Element.Type.e_image"); break; } case Element.Type.e_text: // Process text strings... { Console.WriteLine("Process Element.Type.e_text"); String txt = element.GetTextString(); // Console.WriteLine(txt); break; } case Element.Type.e_form: // Process form XObjects { Console.WriteLine("Process Element.Type.e_form"); reader.FormBegin(); ProcessElements(reader); reader.End(); break; } } } } /// /// The main entry point for the application. /// [STAThread] static void Main(string[] args) { PDFNet.Initialize(); PDFNet.SetResourcesPath("../../../../../resources"); // Relative path to the folder containing test files. string input_path = "../../../../TestFiles/"; // string output_path = "../../../../TestFiles/Output/"; try { Console.WriteLine("-------------------------------------------------"); Console.WriteLine("Extract text data from all pages in the document."); // Open the test file Console.WriteLine("Opening the input file..."); PDFDoc doc = new PDFDoc(input_path + "newsletter.pdf"); doc.InitSecurityHandler(); PageIterator itr; ElementReader page_reader = new ElementReader(); for (itr = doc.GetPageIterator(); itr.HasNext(); itr.Next()) // Read every page { Console.WriteLine("Page {0:d} ----------------------------------------", itr.GetPageNumber()); page_reader.Begin(itr.Current()); ProcessElements(page_reader); page_reader.End(); } Console.WriteLine("Done."); doc.Close(); } catch (PDFNetException e) { Console.WriteLine(e.Message); } PDFNet.Terminate(); } } }