同步操作将从 CastleCloud/docpreview 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
CastleDocpreview 多文件在线预览
如果你感觉这个项目不错,请点击右上角的Star以鼓励作者,谢谢。
说明:本项目是将一些常见的技术做了整合,帮助那些需要在线预览文件或正在寻找 office 转 pdf 文件预览的同学。如果你觉得本项目对你有帮助请点击一下 start,多谢大家!
2023新增说明: 《文档转换预览技术说明》:https://www.yuque.com/hcwdc/open/pos2lih1vi3248g9
已经将部分的教程进行了整合优化,放到了语雀的平台上,原先的老教程依然可以看。 基于这个技术做的知识库管理系统:https://gitee.com/hcwdc/knowledgebase
已经实现功能如下:
- 多格式转换为 PDF 格式
- OFFICE 转换为 PNG 格式
- 在线预览文件
- 手机预览查看文件
请勿上传重要的文件,该演示地址存储目录为临时目录,所有文件将会在每个月的月底进行全部删除。
本地启动后访问页面地址为:http://localhost:8301/index(还需修改参数配置或搭配Nginx使用)
【必须】程序运行所在环境安装 LibreOffice,PDF 转换基于 LibreOffice 完成(OpenOffice 也一样可用)
安装参考教程:http://wiki.nooss.cn/archives/420.html
Linux 安装字体(不安装会出现乱码问题):http://wiki.nooss.cn/archives/406.html
http://ip:port/demo/upload
http://ip:port/demo/toPdf
ps:会先将文件转为 pdf,然后使用 pdfbox 转为图片
http://ip:port/demo/toPng
ps:会先将文件转为 pdf,然后使用 pdfbox 转为svg
http://ip:port/demo/toSvg
castle:
upload:
# 自行配置可访问的路径
fileDomain: http://up.hcses.cn/pdftools # 文件可访问的地址
fileServerPath: /www/wwwroot/up.hcses.cn/pdftools/ # 原始文件的服务器存储位置
word 转 pdf、word 转图片、office 格式转换、在线文件预览
在页面 head
部分引入 <script src="preview.js"></script>
参数 | 说明 | 值 |
---|---|---|
type | 传入文件的粗类型 | txt / img / pdf / mp3 / mp4 |
modal | 所有打开的弹窗列表 | Array<Modal> |
window.$Preview.show : (urls: string | Array<string>, options: Options) => $Preview
// e.g
window.$Preview.show('http://123.png')
window.$Preview.show(['http://123.png', 'http://456.png'])
window.$Preview.show(['http://123.png', 'http://456.png'], {
active: 1
})
urls: Array<string> // 展示的文件地址列表
options: {
active: number, // 打开时展示第几张 下标从 0 开始
}
window.$Preview.closeAll : () => void
暂时处理为 alert
可以根据需要自行覆盖
window.$Preview.error : (msg) => void
/**
覆盖代理使用
覆盖后 alert 将不再弹出
*/
window.$Preview.error = (msg) => {
console.log(msg)
}
window.$Preview.formatType : (url: string) => 'txt' | 'img' | 'pdf' | 'mp3' | 'mp4'
window.$Preview.formatShowType : (url: string) => FileType
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。