public static void SplitDocumentToPages(string docName) { string folderName = Path.GetDirectoryName(docName); string fileName = Path.GetFileNameWithoutExtension(docName); string extensionName = Path.GetExtension(docName); string outFolder = Path.Combine(folderName, "_out"); Console.WriteLine("Processing document: " + fileName + extensionName); Document doc = new Document(docName); // Create and attach collector to the document before page layout is built. LayoutCollector layoutCollector = new LayoutCollector(doc); // This will build layout model and collect necessary information. doc.UpdatePageLayout(); // Split nodes in the document into separate pages. DocumentPageSplitter splitter = new DocumentPageSplitter(layoutCollector); // Save each page to the disk as a separate document. for (int page = 1; page <= doc.PageCount; page++) { Document pageDoc = splitter.GetDocumentOfPage(page); pageDoc.Save(Path.Combine(outFolder, string.Format("{0} - page{1} Out{2}", fileName, page, extensionName))); } // Detach the collector from the document. layoutCollector.Document = null; }
public static void SplitDocumentToPages(string docName) { string folderName = Path.GetDirectoryName(docName); string fileName = Path.GetFileNameWithoutExtension(docName); string extensionName = Path.GetExtension(docName); string outFolder = Path.Combine(folderName, "_out"); Console.WriteLine("Processing document: " + fileName + extensionName); Document doc = new Document(docName); // Split nodes in the document into separate pages. DocumentPageSplitter splitter = new DocumentPageSplitter(doc); // Save each page to the disk as a separate document. for (int page = 1; page <= doc.PageCount; page++) { Document pageDoc = splitter.GetDocumentOfPage(page); pageDoc.Save(Path.Combine(outFolder, string.Format("{0} - page{1} Out{2}", fileName, page, extensionName))); } }