本文介绍了无法打开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,因为它不是受支持的文件类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

1403页,肝出来的..

09-06 13:47