如何实现在线浏览PDF文档
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现在线浏览PDF文档相关的知识,希望对你有一定的参考价值。
可以使用下腾讯文档,腾讯文档有在线pdf功能,可以:
1、导入本地pdf文件,直接在线阅读,而且手机、电脑内容都是同步的,能随时随地打开查看
2、可以以链接形式很方便的分享给好友
3、不用下载,有网页版和微信/QQ小程序,打开即可使用
具体操作方法:
1、搜索腾讯文档,登录后选择「导入本地文件」,导入你的PDF文件
2、导入后就可以在线阅读了,手机端(腾讯文档微信/QQ小程序、腾讯文档app)也可以随时打开阅读
3、如果需要分享资料给好友,可设置文档的查看权限,以链接或二维码方式一键分享给好友,好友打开链接就能查看了。分享到朋友圈/微博也可以哟~
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文档的主要内容,如果未能解决你的问题,请参考以下文章