static private void LoadImmediately(string filename, bool resolve, bool streamContent) { PdfDocument document = new PdfDocument(); document.Load(filename, true); document.Close(); // Output an overview of the document contents PdfDebugBuilder builder = new PdfDebugBuilder(document); builder.Resolve = resolve; builder.StreamContent = streamContent; Console.WriteLine(builder.ToString()); }
static private void LoadOnDemand(string filename, bool resolve, bool streamContent) { PdfDocument document = new PdfDocument(); document.Load(filename, false); PdfDebugBuilder builder = new PdfDebugBuilder(document); builder.Resolve = resolve; builder.StreamContent = streamContent; Console.WriteLine(builder.ToString()); // Cannot close document until finished accessing it document.Close(); }
static private void ListIndirectObjects(string filename, bool resolve, bool streamContent) { PdfDocument document = new PdfDocument(); document.Load(filename, true); document.Close(); // Get each indirect object identifier foreach (var id in document.IndirectObjects) { // Get each generation for the identifier foreach (var gen in id.Value) { PdfDebugBuilder builder = new PdfDebugBuilder(gen.Value); builder.Resolve = resolve; builder.StreamContent = streamContent; Console.WriteLine(builder.ToString()); } } }