[英]how to display pdf document in aspx page using web control?
我創建了一個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 doc刷新到瀏覽器(如GeekyCoder的建議),然后取決於瀏覽器,您將看到文檔或將顯示“另存為”對話框。
沒有將顯示pdf的本機控件。 如果您希望確定pdf始終顯示在頁面上,則需要自己創建控件(或者搜索免費/付費的自定義控件)。
在瀏覽器中查看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/ )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.