Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Vence/Office2PDF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

12 Commits

Repository files navigation

Office2PDF

本项目的功能是将office文件,主要是doc,docx,xls,xlsx,ppt,pptx,txt等文件轻松转成pdf文件,进而可以再前端做文件预览;

首先了解一下目前主流的文件预览方案:

基于openoffice + swftools + flexpaper

请访问原文博客

主要原理

  • 通过第三方工具openoffice,将word、excel、ppt、txt等文件转换为pdf文件
  • 通过swfTools将pdf文件转换成swf格式的文件
  • 通过FlexPaper文档组件在页面上进行展示

缺点:服务器需要安装openoffice,wsftools和flexpaper等插件,比较负重;前端需要安装flash插件

优点:实现的wsf预览方式对文件的失真较少,代码实现起来也不是特别复杂

这也是目前比较主流的方式,例如百度云盘大概就是按照这种方式

基于IText + POI + Jsoup

请访问原文博客

主要原理:

  • 使用 poi 将word转换成 html
  • 使用IText 将html转换成pdf(由于html中所有标签都必须要闭合,才能使用IText,所以这里用jsoup对html进行转换)

缺点: 会有失真问题,另外涉及到中文编码问题

基于Openoffice + jquery-media

这种也是我以上项目中所采用的方案:

主要原理:

  • 通过第三方软件openoffice,将word、excel、ppt、txt等文件转换为pdf文件
  • 前端使用media展示pdf文件

jQuery-Media,不仅可以无插件展示pdf文件,还可以html, 及其他媒体文件等,功能比较强大,社区提供了很多的demo,可以查看一下。

本项目代码将office转成pdf后,就可以通过jQuery-media展示pdf,具体做法就是:

<a class="media" href="123.pdf"></a>

js脚本执行如下:

$("a.media").media({width:800, height:600});

优点: 前后台代码都比较简单

缺点:依然需要安装OpenOffice软件

附件:

About

Office文件转PDF

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /