static void Test(IPdfFactory factory, int blockSize) { var sw = new Stopwatch(); sw.Start(); using (var streamReader = new StreamReader("../../../../../doc/PDF32000_2008.pdf")) { var document = factory.Create(streamReader.BaseStream, new PdfOptions { ReadBlockSize = blockSize }); foreach (var section in document.CrossReferenceTable) { foreach (var entry in section) { if (entry.InUse == Parts.CrossReferenceEntryFlag.Free) { Console.WriteLine(entry + "-Not in use"); } else { var o = document.ReadIndirectObject(entry); if (o.InnerObject is PdfStream pdfStream) { Console.Write("."); //Console.WriteLine(entry + "-" + o.InnerObject.GetType().Name); } } } } } Console.WriteLine("{0} -- {1}", blockSize, sw.Elapsed); }
public async override Task WriteToStreamAsync(Type type, object value, Stream writeStream, HttpContent content, TransportContext transportContext) { var memoryStream = report.Create(value); var bytes = memoryStream.ToArray(); await writeStream.WriteAsync(bytes, 0, bytes.Length); }