1. 如何實現在線瀏覽PDF文檔
在一般的管理系統模塊裡面,越來越多的設計到一些常用文檔的上傳保存操作,其中如PDF、Word、Excel等文檔,有時候是通過分布式的WCF技術實現數據的顯示和處理,因此希望直接預覽而不需要下載文件,這樣能夠給我們提供很多的方便。在DevExpress裡面,提供了相應的控制項來顯示和處理這些文檔,本文主要介紹如何利用DevExpress的控制項實現對PDF、Word、Excel文檔的預覽和操作處理。
1、PDF的預覽和操作
在較早的DevExpress的控制項裡面,已經提供了對應的PDF文檔的顯示控制項,不過由於其對PDF格式支持不是很好,有些文檔是Office導出的,也不是很正常閱讀,因此很少使用,本文介紹的DevExpress的PDF查看控制項是基於14.1的,測試過很多文檔,好像都能正常打開,因此也想在系統中廣泛使用了。
為了演示這些控制項的處理,我單獨編寫了一個例子,用來實現對PDF、Word、Excel等文檔的處理。
為了顯示PDF文檔,我們需要在界面裡面添加一個XtraPdfViewer.PdfViewer的控制項,這個主要是用來顯示PDF的,它有很多屬性方法,用來實現對PDF的處理操作,測試界面設計好如下所示。
對PDF,我們一般主要是用來打開文件,另存為,或者預覽就可以了。相關的操作代碼如下所示。
/// <summary> /// PDF測試顯示窗體 /// </summary> public partial class PDFViewer : Form { //記錄窗體的名稱 readonly string mainFormText; public PDFViewer() { InitializeComponent(); //記錄窗體的名稱,並實現文檔變化事件的處理,方便顯示新的文件名稱 mainFormText = this.Text; pdfViewer1.DocumentChanged += new DevExpress.XtraPdfViewer.(pdfViewer1_DocumentChanged); } /// <summary> /// PDF文檔變化後,實現對新文件名稱的顯示 /// </summary> void pdfViewer1_DocumentChanged(object sender, DevExpress.XtraPdfViewer.PdfDocumentChangedEventArgs e) { string fileName = Path.GetFileName(e.DocumentFilePath); if (String.IsNullOrEmpty(fileName)) { Text = mainFormText; } else { Text = fileName + " - " + mainFormText; } } /// <summary> /// 打開PDF文件 /// </summary> private void btnOpenFile_Click(object sender, EventArgs e) { string filePath = FileDialogHelper.OpenPdf(); if (!string.IsNullOrEmpty(filePath)) { this.pdfViewer1.LoadDocument(filePath); } } /// <summary> /// 另存為PDF文件 /// </summary> private void btnSaveAs_Click(object sender, EventArgs e) { string dir = System.Environment.CurrentDirectory; string filePath = FileDialogHelper.SavePdf("", dir); if (!string.IsNullOrEmpty(filePath)) { try { this.pdfViewer1.SaveDocument(filePath); MessageUtil.ShowTips("保存成功"); } catch (Exception ex) { LogTextHelper.Error(ex); MessageUtil.ShowError(ex.Message); } } } /// <summary> /// PDF文件列印 /// </summary> private void btnPreview_Click(object sender, EventArgs e) { this.pdfViewer1.Print(); } }
2. 為什麼通過QQ發送的文件打不開
通過QQ傳文件打不開的情況有:
1、有時候QQ發送的文件成功後擴展名變了,需要把擴展名改一下。擴展名就是文件後面的".xxx"
比如接收的文件是111.exe.發過來後會發現變成了111.exe.xxx 點擊文件,修改文件名,把.xxx去掉就可以打開了。
2、對方文件沒有壓縮,格式不支持,本電腦沒有運行文件的軟體。看擴展名,了解是什麼軟體,裝軟體後在開啟文件。
3、對方發過來的不是文件而是病毒或木馬。陌生人傳的文件不要隨便接收。
4、文件沒有傳送完,不完整的文件是打不開的。讓對方重新傳文件。