如何使用web控件在aspx页面中显示PDF文档
本文关键字:显示 PDF 文档 aspx 何使用 web 控件 | 更新日期: 2023-09-27 18:06:23
我已经创建了一个Web应用程序,用户可以通过阅读PDF文档来完成他的课程。为此,我需要在新的aspx页面中打开PDF文件。
是否有打开PDF的控制?或者还有其他方式打开PDF吗?
如果你知道,请帮助我。
谢谢,问候,k.kavya
你可以试试这个
private void ReadPdfFile()
{
string path = @"C:'Swift3D.pdf";
WebClient client = new WebClient();
Byte[] buffer = client.DownloadData(path);
if (buffer != null)
{
Response.ContentType = "application/pdf";
Response.AddHeader("content-length",buffer.Length.ToString());
Response.BinaryWrite(buffer);
}
}
你可以在…http://geekswithblogs.net/azamsharp/archive/2005/09/18/54294.aspx
现在你的要求是你基本上想要读一个pdf文件你可以使用一个很好的库,比如iTextSharp。http://sourceforge.net/projects/itextsharp/
,然后使用它从PDF中提取数据到字符串
public string ReadPdfFile(string fileName)
{
StringBuilder text = new StringBuilder();
if (File.Exists(fileName))
{
PdfReader pdfReader = new PdfReader(fileName);
for (int page = 1; page <= pdfReader.NumberOfPages; page++)
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string currentText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy);
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
text.Append(currentText);
}
pdfReader.Close();
}
return text.ToString();
}
然后显示该字符串到您的网页....现在应该不难了……
这种行为是由浏览器本身处理的,所有你需要的只是刷新pdf文档到浏览器(建议由GeekyCoder),然后取决于浏览器,你会看到文档或将显示另存为对话框。
没有显示pdf的本机控件。如果你想确保pdf总是显示在页面上,你需要自己创建控件(或者搜索免费/付费的自定义控件)。
在浏览器中查看PDF文件(不需要下载)需要客户端浏览器的附加组件。例如,Google Chrome有一个内置的PDF查看器,可以直接打开文件,而IE和Firefox则需要你安装一个插件(Adobe Reader自带的插件)。
还有两种方法:
将文件转换为HTML、图像或任何其他可以在浏览器中直接查看的格式。这种转换可以使用服务器端(用PHP, Python, ASP,任何语言编写)进行实时转换,或者您可以将所有文件预转换为可读文件。
另一种最好的方法是使用基于flash的PDF查看器(例如http://flexpaper.devaldi.com/)。这很简单、灵活,而且不需要编写服务器端代码。这种方法被许多文档共享站点(例如http://www.scribd.com/, http://www.slideshare.net/, http://www.docstoc.com/)使用