如何使用Web控件在aspx页面中显示pdf文档?

时间:2013-03-29 12:18:01

标签: c# asp.net

我创建了一个Web应用程序,用户可以通过阅读PDF文档来完成他的课程。为此,我需要在新的aspx页面中打开该PDF文件。

是否可以打开PDF?或者还有其他方法可以打开PDF吗?

如果你知道请帮助我。

谢谢&问候, k.kavya

3 个答案:

答案 0 :(得分:2)

你可以试试这个

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();
}

然后将该字符串显示在您的网页中.... 现在应该不难... 希望它有所帮助。

答案 1 :(得分:0)

这种行为由浏览器本身处理,只需将pdf文档刷新到浏览器(如GeekyCoder建议),然后依赖于浏览器,您将看到文档或将显示为“另存为”对话框。 / p>

没有显示pdf的本机控件。如果您想确保pdf始终显示在页面上,您需要自己创建控件(或者搜索免费/付费自定义控件)。

答案 2 :(得分:0)

在浏览器中查看PDF文件(无需下载)需要客户端浏览器的附加组件。例如,谷歌浏览器有一个内置的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/