如何实现在线阅读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();
        
    

  

参考技术A 首先你的电脑要装有这几个软件,再就是fLAsh

以上是关于如何实现在线阅读PDF,word,Excel类的文档的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PHP 中阅读 Word、Excel 和 PDF 文档?

word,excel,ppt转Pdf,Pdf转Swf,通过flexpaper+swftools实现在线预览

jsp有办法实现word/excel的在线预览吗

如何将excel表格转成在线文档

如何将word,excel,powerpoint等转换成html或pdf

PHP 实现 word/excel/ppt 转换为 PDF