public byte[] ViewAsPng(string filePath) { //List<MemoryStream> pages = new List<MemoryStream>(); //var streamFactory = new MemoryPageStreamFactory(pages); //using (Viewer viewer = new Viewer(filePath)) //{ // PngViewOptions options = new PngViewOptions(streamFactory); // viewer.View(options); // long len = 0; // foreach (var page in pages) // { // len += page.Length; // } // var byteArray = new byte[len]; // long i = 0; // foreach (var page in pages) // { // page.ToArray().CopyTo(byteArray, i); // i += page.Length; // } // return byteArray; //} var bytes = File.ReadAllBytes(filePath); var stream = new MemoryStream(bytes); using (var viewer = new Viewer(stream)) { var pages = new List <MemoryStream>(); var streamFactory = new MemoryPageStreamFactory(pages); var options = new PngViewOptions(streamFactory); viewer.View(options); var imageByteArray = new List <byte[]>(); foreach (var page in pages) { imageByteArray.Add(page.ToArray()); } long len = 0; foreach (var page in pages) { len += page.Length; } var byteArray = new byte[len]; long i = 0; foreach (var page in pages) { page.ToArray().CopyTo(byteArray, i); i += page.Length; } return(byteArray); } }
public string ViewAsHtml(string filePath) { List <MemoryStream> pages = new List <MemoryStream>(); using (Viewer viewer = new Viewer(filePath)) { MemoryPageStreamFactory pageStreamFactory = new MemoryPageStreamFactory(pages); ViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources(pageStreamFactory); viewer.View(viewOptions); } var stringContent = new StringBuilder(); foreach (var page in pages) { stringContent.Append(Encoding.UTF8.GetString(page.ToArray())); } return(stringContent.ToString()); }