如何实现在线浏览PDF文档

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现在线浏览PDF文档相关的知识,希望对你有一定的参考价值。

可以使用下腾讯文档,腾讯文档有在线pdf功能,可以:

1、导入本地pdf文件,直接在线阅读,而且手机、电脑内容都是同步的,能随时随地打开查看

2、可以以链接形式很方便的分享给好友

3、不用下载,有网页版和微信/QQ小程序,打开即可使用

具体操作方法:

1、搜索腾讯文档,登录后选择「导入本地文件」,导入你的PDF文件

           
           

2、导入后就可以在线阅读了,手机端(腾讯文档微信/QQ小程序、腾讯文档app)也可以随时打开阅读

           
           

3、如果需要分享资料给好友,可设置文档的查看权限,以链接或二维码方式一键分享给好友,好友打开链接就能查看了。分享到朋友圈/微博也可以哟~

           
           

           
           

           
           

参考技术A   在一般的管理系统模块里面,越来越多的设计到一些常用文档的上传保存操作,其中如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();   

java实现在线浏览PDF文档功能

实现在线浏览pdf文档功能(本代码适用于项目服务中固定的并且少量的pdf浏览,比如注册时的注册条款在线浏览等):

        //设置响应内容类型为PDF类型  
        response.setContentType("application/pdf");  
          
        ServletOutputStream sos = response.getOutputStream();  
          
        //不在网页中打开,而是直接下载该文件,下载后的文件名为“Example.pdf”  
        //response.setHeader("Content-disposition", "attachment;filename=Example.pdf");  
          
        File pdf = null;  
        FileInputStream fis = null;  
        byte[] buffer = new byte[1024*1024];  
        pdf = new File("D:\\test.pdf");  
        response.setContentLength((int) pdf.length());  
        fis = new FileInputStream(pdf);  
        int readBytes = -1;  
        while((readBytes = fis.read(buffer, 0, 1024*1024)) != -1){  
            sos.write(buffer, 0, 1024*1024);  
        }  
        sos.close();  
        fis.close();  

 

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

java实现在线浏览PDF文档功能

如何用 Java 实现 wordexcel 等文档在线预览?

如何在浏览器中打开PDF文件并实现预览的思路与代码

如何在浏览器中打开PDF文件并实现预览的思路与代码

如何实现在线阅读PDF,word,Excel类的文档

java实现在线文档浏览