2013-03-29 33 views
1

我已经创建了一个Web应用程序,该用户可以通过阅读PDF文档来完成他的课程。为此,我需要在新的aspx页面中打开该PDF文件。如何使用web控件在aspx页面中显示pdf文档?

是否有任何控制打开PDF?或者还有其他方式可以打开PDF吗?

如果你知道请帮助我。

感谢&问候, k.kavya

+0

打开PDF您需要创建目标为_new和URL的锚标记您的相对文件路径。 –

回答

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

则显示字符串转换成你的网页.... 现在should'nt困难.. 希望能帮助到你。

+0

感谢您的回复..但我需要在aspx页面中显示pdf的内容 –

+0

尽管Pdf并非由.NET本机支持,但您仍然可以通过使用外部库(如iTextPdf)实现此目的,请参阅我的更新回答要做到这一点.. – GeekyCoder

+0

我需要在页面明智地打开该PDF ..上一页和下一个选项应该在那里..我们需要跟踪页码,直到什么页面的用户完成了课程的......请大家帮我做这个。我已经试过可能的方法,但不能在以赢得成功...... –

0

这种行为是由浏览器本身处理的,你只需要将pdf文档刷到浏览器(如GeekyCoder建议的那样),然后依赖于浏览器就会看到文档,或者将显示另存为对话框。

没有本机控件将显示pdf。如果您希望确保pdf始终显示在页面上,则需要自行创建控件(或者可以搜索免费/付费自定义控件)。

+0

除了控件,有没有什么方法可以在网页中显示pdf的内容...... –

0

在浏览器中查看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/

相关问题