javascript自动生成pdf
WordPress如何支持PDF预览?
WordPress如何支持PDF预览?
项目需要实现局域网预览office文档的功能,之前做的在线项目,都是将文档上传到cdn,利用cdn自带的转码功能,把文档转换为pdf,然后再用pdf.js实现在线预览。
因为是局域网,没有办法上传到cdn,只能自己搭建本地的文档转换工具。在网上找了很多,最后定位到openoffice和libreoffice,经测试对比,libreoffice转换的效果明显好于openoffice。
下面是libreoffice在windows和linux下的部署教程。
依赖java环境,不管是windows还是linux,请先安装1.7或者更新版本的java(本文档主要介绍安装libreoffice,安装java的过程这里不赘述,网上教程非常多)。
访问libreoffice官网进行下载(稳定版),并选择适合自己电脑的版本
下载下来之后进行安装
安装过程中进行傻瓜式操作(一直点击下一步、安装)
查看是否安装成功
点击左下角“开始”按钮,在搜索框中输入libreoffice,出现以下界面,然后点击第一个程序
点击之后出现以下界面说明安装成功
在DOS命令窗口输入“soffice”命令检查是否自动配置了环境变量
使用快捷键“win R”调出运行对话框,并在其中输入“cmd”
弹出DOS命令窗口,在其中输入“soffice”
如果出现以下界面说明环境变量已配置好,则直接到第 六 步
如果出现以下提示,说明未配置环境变量,需手动添加环境变量,具体查看第 五 步
环境变量未自动配置时,手动添加环境变量
在桌面图标“计算机”上右击(点击鼠标右键),然后点击“属性”,或使用点击屏幕左下角“开始”按钮,然后点击“控制面板”,在控制面板中点击“系统”
在弹出的界面中选择“高级系统设置”
然后点击“环境变量”
在“系统变量”中找到“Path”变量
点击“编辑”,在最后面将本地“libreoffice”的安装路径添加进去
如: C:Program FilesLibreOfficeprogram
注意:在路径最前面与最后面一定要添加上英文状态下的””
可以再次回到第 四 步检查环境变量是否添加成功
重启电脑!
注意:这一步非常重要,一定要重启电脑,不然可能会获取不到环境变量
Libreoffice的配置(Linux)
卸载系统当前的libreoffice,执行以下命令
yum remove libreoffice-*
使用以下命令进入local目录并下载以下文件
cd /usr/local
wget _64/LibreOffice_6.1.3_Linux_x86-64_rpm.tar.gz
执行以下命令解压文件
tar -zxvf LibreOffice_6.1.3_Linux_x86-64_rpm.tar.gz
上面的文件解压之后会产生一个RPMS文件,使用以下命令进入到RPMS目录并进行安装
cd /usr/local/LibreOffice_6.1.3_Linux_x86-64_rpm/RPMS
yum localinstall *.rpm
安装libreoffice-headless
注意:执行此步骤需配置java运行环境,如已配置则直接执行以下命令,否则详情请见Java环境配置-Linux文档
yum install libreoffice-headless
检查是否自动配置好软连接(环境变量)
直接输入“soffice”或“libreoffice”,如出现以下字样,说明配置成功
添加字体,不添加字体,转码后的汉字会乱码。
在/ust/share/fonts目录中新建一个名为“Fonts”的目录,然后使用WinSCP将Windows中的以下常用字体添加到“Fonts”目录中
英文文件名(中文名称)
(微软雅黑 常规)
(微软雅黑 粗体)
(宋体 常规)
(楷体 常规)
(黑体 常规)
(仿宋 常规)
如需要转码的文档中包含其他字体,可自行再次添加
注:Windows字体目录:C:WindowsFonts
pdf.js如何预览本地文件?
pdf.js预览文件必须只能是在服务器部署的项目路径下,不能通过修改配置的方式支持本地路径的文件,否则会有js跨域问题。
如果要显示本地文件,可以折中考虑先做一个上传功能将文件上传到服务器上然后在页面上展示,这样基本实现了预览本地文件。