本文介绍了无法打开TEST.PDF,因为它不是受支持的文件类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
hi
i通过在文件夹中使用以下代码保存了一个pdf的网页浏览器...... pdf保存在文件夹中但是pdf将不会打开所以请帮我解决
hi
i have saved a web browser in pdf by using below code in a folder ...... pdf is saved in folder But pdf wil not open so please help me to solve
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=TestPage.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
this.Page.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
MemoryStream ms = new MemoryStream();
PdfWriter.GetInstance(pdfDoc, ms);
pdfDoc.Open();
htmlparser.Parse(sr);
FileStream file = new FileStream(Server.MapPath("~/Files/")+"Test.PDF", FileMode.Create, System.IO.FileAccess.Write);
byte[] bytes = new byte[ms.Length];
ms.Read(bytes, 0, (int)ms.Length);
file.Write(bytes, 0, bytes.Length);
file.Close();
pdfDoc.Close();
ms.Close();
错误是
无法打开TEST。 PDF,因为它不是受支持的文件类型
推荐答案
ms.Seek(0L, SeekOrigin.Begin);
ms.Read(bytes, 0, (int)ms.Length);
file.Write(bytes, 0, bytes.Length);
或者,使用 ToArray
方法:
Alternatively, use the ToArray
method:
byte[] bytes = ms.ToArray();
file.Write(bytes, 0, bytes.Length);
或者使用 CopyTo
方法:
Or use the CopyTo
method:
ms.CopyTo(file);
这篇关于无法打开TEST.PDF,因为它不是受支持的文件类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!