From 95d748be482c50cf98490d906f5258c4ff8a0034 Mon Sep 17 00:00:00 2001 From: "Valeriano A.R" Date: Sun, 19 Jun 2016 15:29:05 +0200 Subject: [PATCH] FrmPdfInfo: Changes to ease information showing --- VAR.PdfTools.Workbench/FrmPdfInfo.cs | 39 +++++++++------------------- 1 file changed, 12 insertions(+), 27 deletions(-) diff --git a/VAR.PdfTools.Workbench/FrmPdfInfo.cs b/VAR.PdfTools.Workbench/FrmPdfInfo.cs index 7f09d91..d82d066 100644 --- a/VAR.PdfTools.Workbench/FrmPdfInfo.cs +++ b/VAR.PdfTools.Workbench/FrmPdfInfo.cs @@ -1,11 +1,7 @@ using System; using System.Collections.Generic; -using System.ComponentModel; using System.Data; -using System.Drawing; using System.Linq; -using System.Text; -using System.Threading.Tasks; using System.Windows.Forms; namespace VAR.PdfTools.Workbench @@ -49,31 +45,20 @@ namespace VAR.PdfTools.Workbench PdfDocument doc = PdfDocument.Load(txtPdfPath.Text); int nObjects = doc.Objects.Count; - List streams = doc.Objects.Where(obj => obj.Data.Type == PdfElementTypes.Stream).Select(obj => (PdfStream)obj.Data).ToList(); - int nStreams = streams.Count; - List streamsWithFilters = streams - .Where(stream => stream.Dictionary.Values.ContainsKey("Filter")) + List streams = doc.Objects + .Where(obj => obj.Data.Type == PdfElementTypes.Stream) + .Select(obj => (PdfStream)obj.Data) .ToList(); - var streamFilters = new List(); - foreach(PdfStream stream in streamsWithFilters) - { - IPdfElement filter = stream.Dictionary.Values["Filter"]; - if (filter is PdfArray) - { - filter = ((PdfArray)filter).Values[0]; - } - if (filter is PdfName) - { - streamFilters.Add(((PdfName)filter).Value); - } - } + int nStreams = streams.Count; + int nPages = doc.Pages.Count; - txtOutput.Lines = new string[] - { - string.Format("Number of Objects: {0}", nObjects), - string.Format("Number of Streams: {0}", nStreams), - string.Format("Unsuported Stream Filters: {0}", string.Join(", ", streamFilters.Distinct().ToArray())), - }; + List lines = new List(); + lines.Add(string.Format("Filename : {0}", System.IO.Path.GetFileNameWithoutExtension(txtPdfPath.Text))); + lines.Add(string.Format("Number of Objects : {0}", nObjects)); + lines.Add(string.Format("Number of Streams : {0}", nStreams)); + lines.Add(string.Format("Number of Pages : {0}", nPages)); + + txtOutput.Lines = lines.ToArray(); }