如何实现在线阅读PDF,word,Excel类的文档
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现在线阅读PDF,word,Excel类的文档相关的知识,希望对你有一定的参考价值。
在一般的管理系统模块里面,越来越多的设计到一些常用文档的上传保存操作,其中如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.PdfDocumentChangedEventHandler(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();
以上是关于如何实现在线阅读PDF,word,Excel类的文档的主要内容,如果未能解决你的问题,请参考以下文章
如何在 PHP 中阅读 Word、Excel 和 PDF 文档?
word,excel,ppt转Pdf,Pdf转Swf,通过flexpaper+swftools实现在线预览