整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

前端程序员实现在线预览pdf、word、xls、ppt等文件,超实用!

、前端实现pdf文件在线预览功能

方式一、pdf文件理论上可以在浏览器直接打开预览但是需要打开新页面。在仅仅是预览pdf文件且UI要求不高的情况下可以直接通过a标签href属性实现预览

<a href="文档地址"></a>

方式二、通过jquery插件jquery.media.js实现 这个插件可以实现pdf预览功能(包括其他各种媒体文件)但是对word等类型的文件无能为力。 实现方式: js代码:

<script type="text/javascript" src="jquery-1.7.1.min.js"></script> 
<script type="text/javascript" src="jquery.media.js"></script>
复制代码

html结构:

 <body>
 <div id="handout_wrap_inner"></div>
 </body>
复制代码

调用方式:

<script type="text/javascript"> 
 $('#handout_wrap_inner').media({
		width: '100%',
		height: '100%',
		autoplay: true,
 src:'http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf',
 }); 
</script>
复制代码

方式三、直接通过页面内嵌iframe

$("<iframe src='"+ this.previewUrl +"' width='100%' height='362px' frameborder='1'>").appendTo($(".video-handouts-preview"));
复制代码

此外还可以在iframe标签之间提供一个提示类似这样

<iframe :src="previewUrl" width="100%" height="100%">
This browser does not support PDFs. Please download the PDF to view it: <a :href="previewUrl">Download PDF</a>
</iframe>
复制代码

方式四、通过标签嵌入内容

<embed :src="previewUrl" type="application/pdf" width="100%" height="100%">

此标签h5特性中包含四个属性:高、宽、类型、预览文件src! 与< iframe > < / iframe > 不同,这个标签是自闭合的的,也就是说如果浏览器不支持PDF的嵌入,那么这个标签的内容什么都看不到!

方式五、标签和iframe使用差别较小

<object :src="previewUrl" width="100%" height="100%">
This browser does not support PDFs. Please download the PDF to view it: <a :href="previewUrl">Download PDF</a>
</object>
复制代码

除方式二以外其他都是直接通过标签将内容引入页面实现预览

方式六、PDFObject

PDFObject实际上也是通过标签实现的直接上代码

<!DOCTYPE html>
<html>
<head>
 <title>Show PDF</title>
 <meta charset="utf-8" />
 <script type="text/javascript" src='pdfobject.min.js'></script>
 <style type="text/css">
 html,body,#pdf_viewer{
 width: 100%;
 height: 100%;
 margin: 0;
 padding: 0;
 }
 </style>
</head>
<body>
 <div id="pdf_viewer"></div>
</body>
<script type="text/javascript">
 if(PDFObject.supportsPDFs){
 // PDF嵌入到网页
 PDFObject.embed("index.pdf", "#pdf_viewer" );
 } else {
 location.href = "/canvas";
 }
</script>
</html>

还可以通过以下代码进行判断是否支持PDFObject预览

if(PDFObject.supportsPDFs){
 console.log("Yay, this browser supports inline PDFs.");
} else {
 console.log("Boo, inline PDFs are not supported by this browser");
}
复制代码

方式七、PDF.js

PDF.js可以实现在html下直接浏览pdf文档,是一款开源的pdf文档读取解析插件,非常强大,能将PDF文件渲染成Canvas。PDF.js主要包含两个库文件,一个pdf.js和一个pdf.worker.js,一个负责API解析,一个负责核心解析。

2、word、xls、ppt文件在线预览功能

word、ppt、xls文件实现在线预览的方式比较简单可以直接通过调用微软的在线预览功能实现 (预览前提:资源必须是公共可访问的)

<iframe src='https://view.officeapps.live.com/op/view.aspx?src=http://storage.xuetangx.com/public_assets/xuetangx/PDF/1.xls' width='100%' height='100%' frameborder='1'>
			</iframe>
复制代码

src就是要实现预览的文件地址 具体文档看这微软接口文档

补充:google的文档在线预览实现同微软(资源必须是公共可访问的)

<iframe :src="'https://docs.google.com/viewer?url="fileurl"></iframe>
复制代码

3、word文件

XDOC可以实现预览以DataURI表示的DOC文档,此外XDOC还可以实现文本、带参数文本、html文本、json文本、公文等在线预览,具体实现方法请看官方文档

下面这种方式可以实现快速预览word但是对文件使用的编辑器可能会有一些限制

<a href="http://www.xdocin.com/xdoc?_func=to&_format=html&_cache=1&_xdoc=http://www.xdocin.com/demo/demo.docx" target="_blank" rel="nofollow">XDOC</a>
复制代码

4、excel文件

目前excel文件已经有了类似pdf.js那样的解析sheet.js

总结:

1、免费纯前端方式实现在线预览word、excel、ppt最优选择微软在线预览(不可编辑)

2、利用后端将文件转为图片,前端以图片形式预览(可行方案)

3、购买在线预览服务例如百度DOC文档服务、永中、I DOC VIEW等

著名:文章内容是从网上搜集资料所得;在次发表只为自己以及头条程序员兄弟日后使用图个方便。

觉得有用记得收藏转发

要代码:

Dim doc, objhtml As Object

Dim i As Integer

Dim strhtml As String

If Not Me.WebBrowser1.Busy Then

Set doc = WebBrowser1.Document

i = 0

Set objhtml = doc.body.createtextrange()

If Not IsNull(objhtml) Then

Text1 = objhtml.htmltext

End If

End If

示例下载:( 在“了解更多”里下载)

图 示:

indle 凭着电子墨水屏的先天优势,在一众电子设备中拥有更舒适的阅读体验,但仅仅依靠设备内置的 Amazon Kindle 电子书书店,在书籍资源方面似乎显得单薄。

秉承无版权纠纷的原则下,我搜集了一些电子书资源站点,整理它们各自的电子书资源特点,以及电子书格式转换和书本推送至 Kindle 设备的操作技巧,希望能够丰富大家获取电子书资源的途径,真正做到为电子书书架「添砖加瓦」。

书格

书格 是一个自由开放的数字古籍图书馆,专注于不同类型古书籍的保护与文化艺术作品数字化传播,网站创建于 2013 年,最早起源是豆瓣用户 未曾 在 2012 年建立的 PDF 小站。网站收录资源的首要准则是限定为公共版权领域的书籍,分享的书籍资源来源于世界各个图书馆或机构的公开内容。由于书格分享的书籍大多图文较多,所以暂时只发布 PDF 格式的文件。

书格提倡开放式共享资源,无须用户注册即可浏览下载网站的任何资源,用户可以在 站内搜索 查看已发布资源列表,或者直接进入书格的 网盘目录 浏览下载。根据书格公布的数据显示,截止今年 3 月底,网站已经发布超过 1600 套书籍资源,所有资源大小约 616 GB。在书格的资源分类中,我们可以按照学术分类(史地、社会科学、艺术等)和兴趣分类(永乐大典系列、练字参考、要看图多的等)找到不同类型的书籍。

图灵社区

图灵社区 主要专注于科技书籍的出版,包括计算机、数学统计、科普等领域,提供免费和付费的电子书。用户可以使用网银或者支付宝的购买方式,大部分电子书同时提供了三种阅读方式:在线阅读、MOBI 推送、PDF 下载,部分书籍只提供其中部分格式。

图灵社区的图书分类除了按照常规分类(计算机、科普、设计、高等数学等)外,还可以按不同的 Tag 标签查找感兴趣的书籍。如果你有更准确的书籍信息(ISBN 码、作译者、出版日期),通过图灵社区的 高级搜索 功能精确地找到对应资源。

在用户的 个人设置 页面中,图灵社区提供了推送邮箱的功能,填写好 Kindle 个人邮箱,如果遇到推送失败的话,可以尝试将 no-reply@ituring.com.cn 加入 Kindle 已认可的发件人电子邮箱列表中。

Project Gutenberg 古登堡计划

Project Gutenberg 是国外最知名的电子书分享网站,最初在 1971 年 7 月由 Michael Hart 发起,主要提供大量版权过期后进入公有领域的书籍,目前藏书量超过了 5 万多本。你可以从网站提供的 TOP 100 下载排行榜 获取最受用户欢迎的电子书。

古登堡计划也收录了中文经典书籍,以下载四大名著之一三国演义为例子,在下载页面中,用户可以将电子书转存至 Dropbox、Google Drive、OneDrive 云盘,网站提供了 HTML、ePub、Kindle(mobi、azw 格式) 和富文本多种电子书格式。

Wikibooks 维基教科书

Wikibooks 维基教科书 项目隶属于 维基媒体基金会 旗下,网站主要收集教科书或者用户自己编辑的书籍,提倡分析人人可编辑的自由教学读本,目前已经收录超过 3000 本共 80000 多页的电子书。

维基教科书

在维基教科书的 中文索引页面 中,我们可以找到相当丰富的教学类电子书资源,涵盖了自然科学、数学、社会科学、语言、人文科学、工程学、艺术、计算机科学与技术以及部分中小学、大学课本。维基教科书为每一个网页页面提供了 PDF 文件下载的选项,稍显遗憾的是相较于英文目前中文资源数量还比较有限。

维基媒体基金会的类似项目还有 维基文库,目前已经收录了超过 29 万篇文档,主要领域包括了已出版的文献、译文、历史档案、文献作者生平等,同样提供了 PDF 格式的电子文件。

Planet eBook

Planet eBook 被视为古典文学电子书爱好者的乐园,所收录的小说和书籍均可免费下载和共享,提供的电子书格式包括 ePub、PDF、MOBI,每本收录的书籍都提供了精致的介绍页面,电子书的文字排版和图文质量都有不错的水准。如果你是外文小说的阅读爱好者,Planet eBook 肯定是一个不容错过的电子书平台。

Gitbook

Github 上总能找到一些相当优秀的资源,其中有朋友 分享 了一份免费的编程中文书籍索引排行榜,榜单中按照编程知识领域,推荐不同的教程和电子书资源,包含了开发者网站、Gitbook 电子书资源和部分视频教学资源。

Gitbook 是一个由用户自主制作和分享电子书的平台,从多人协作、Markdown 写作、评论互动等多个环节上为电子书出版和共享提供了一站式解决方案。Gitbook 制作好的电子书支持输出 ePub, MOBI 和 PDF 格式,Explore 页面 集中列出了已整理出版的电子书,用户可以按语言分类和电子书主题查找电子书资源。

文件格式转换和推送技巧

下载书籍后,下一步要做的就是把书传送到 Kindle 里。Kindle 原生系统支持的格式包括:AZW、TXT、PDF、MOBI、PRC、HTML、DOC、DOCX 以及 JPG,但网上电子书资源大部分会是 ePub 和 PDF 格式,这时就需要文件格式转换和 PDF 重排工具(PDF 在 Kindle 设备上的阅读效果并不理想),我收集了以下几款实用工具:

Calibre 是一款强大的本地电子书管理工具,支持 Windows、macOS 和 Linux 三大平台,本身支持市面绝大部分的文件导入和转换,选中需要转换的书籍后,点击选择「转换书籍」,在打开的转换页面中选择右上角输出格式,选择电子书设备支持的输出格式。另外用户还能够调整转换电子书的更多细节选项,包括输出界面、字体、内容目录等。

管理工具:Calibre 使用指南

K2pdfopt 是一款可以优化 PDF 文件、提升在移动设备上阅读体验 PDF 文档的开源软件,支持 Windows、macOS 和 Linux 三大平台,还提供了命令行版本,以 Windows 平台的 GUI 版本为例,

  1. 在 File list 区域添加一个或者多个 PDF 文档;
  2. Output Folder 区域填写转换后文档的保存路径,留空即保存在源文件所在目录;
  3. Device 一栏选择自己的设备,K2pdfopt 支持 Kindle、Kobo、Nook 多款硬件产品;
  4. Conversion Mode 一栏一般选择默认的 default 模式即可(仅仅希望裁边的话,选择 Trim 模式);
  5. 最后点击软件界面右下角 Preview 按钮可预览效果,点击 Convert All Files 即可开始转换。

AConvert 是一款电子书转换在线工具,支持输出 AZW3、EPUB、DOCX、HTML、MOBI、PDF、RTF 和 TXT 格式,选择本地文件上传或在线地址。在转换结果的下载页面中,用户可以将转换后的文档保存至 Dropbox、Google Drive,或者通过扫描二维码下载文档。同类型的在线工具还有 ConvertIO、ToePub。

Dropbox + IFTTT 实现云盘电子书推送至 Kindle 设备。部分电子书平台提供将电子书文件转存至类似 Dropbox 云存储空间里,这时候再利用 IFTTT 提供的任务规则可以实现将云盘电子书资源自动推送至 Kindle 设备上,简单说一下操作步骤:

  1. 在 Dropbox 建立一个专门存放和推送电子书的文件夹,比如 sendtokindle;
  2. 打开 IFTTT 网站上 Send files from Dropbox to your Kindle 页面,首次使用需要获得 Dropbox 和 Gmail 授权;
  3. 完成授权操作后,在 New file in your folder 一栏填写 Dropbox 保存电子书的文件夹名称,留空的话会自动创建名为 Kindle 的文件夹,Send an email 一栏填写 Kindle 设备的专属个人邮箱;
  4. 最后,其他选项保持默认状态即可,设置完成后将电子书保存在 Dropbox 专门的文件夹,就会自动推送至 Kindle 设备。

以上就是我个人搜集的优秀电子书资源站点和书籍格式转换和传输的一些技巧,如果你了解更多的电子书网站,欢迎在评论中与大家分享。