littlebot
Published on 2025-04-15 / 1 Visits
0

【源码】基于Go语言的在线文件预览系统

项目简介

goFileView是受kkFileView启发而开发的在线文件预览系统,采用Go语言实现,使用kkFileView的前端页面。目前项目处于起步阶段,未来会不断完善。该系统主要支持Word、Excel、PPT和PDF文件的在线预览,适用于文档共享、在线办公等场景。

项目的主要特性和功能

  1. 支持多种文件格式,包括Word、Excel、PPT和PDF文件。
  2. 具备文件转码功能,可将Word、Excel、PPT文件转码为PDF,也能把PDF文件转码为图片。
  3. 支持在网页上直接预览上述格式的文件。
  4. 部署简单,提供Docker快速部署方案。
  5. 集成方便,可通过引入Go语言包集成到自己的项目中。

安装使用步骤

前提条件

假设用户已经下载了本项目的源码文件。

使用Docker快速部署

  1. 拉取镜像:sudo docker pull leeli73/gofileview
  2. 访问系统:直接访问 http://127.0.0.1:1180/ 即可使用goFileView。

部署编译

Windows版

  1. 准备工作
    • 安装Libreoffice,下载官方msi包并完成安装(下载地址)。
    • 将Libreoffice安装路径下的program文件夹加入PATH中。
    • 安装ImageMagick,下载官方包并完成安装,需安装7.0以上版本(下载地址)。
    • 安装GhostScript,下载官方包并完成安装(下载地址)。
  2. 编译
    • 进入项目目录:cd goFileView
    • 执行编译命令:go build
  3. 运行
    • 运行可执行文件:goFileView.exe
    • 访问预览链接:http://127.0.0.1:8089/perview/onlinePreview?url=被预览文件的url(例如 http://127.0.0.1:8089/perview/onlinePreview?url=http://127.0.0.1:88/test.docx

Linux版

  1. 准备工作
    • 安装Libreoffice:sudo apt install libreoffice
    • 安装ImageMagick:sudo apt install imagemagick
    • 修改ImageMagick的配置,编辑 etc/ImageMagick-6/policy.xml,将 <policy domain="coder" rights="none" pattern="PDF" /> 修改为 <policy domain="coder" rights="read|write" pattern="PDF" />,并在下方新增一行 <policy domain="coder" rights="read|write" pattern="LABEL" />,然后保存退出。
    • 若出现乱码,需安装字体。打包一台Windows机器的 C:\Windows\Fonts 下的所有文件,发送到Linux机器上,解压后进入Fonts文件夹,依次执行 mkfontscalemkfontdirfc-cache
  2. 编译
    • 进入项目目录:cd goFileView
    • 执行编译命令:go build
  3. 运行
    • 运行可执行文件:./goFileView
    • 访问预览链接:http://127.0.0.1:8089/perview/onlinePreview?url=被预览文件的url(例如 http://127.0.0.1:8089/perview/onlinePreview?url=http://127.0.0.1:88/test.docx

在自己的项目中集成

  1. 示例代码 ```go package main

import( "net/http" )

func index(w http.ResponseWriter, r *http.Request) { w.Write([]byte("I'm Index")) }

func main(){ perview.Init("/perview/","no") //初始化 http.HandleFunc("/index",index) http.HandleFunc("/perview/",perview.Handle) //绑定到preview的Handle http.ListenAndServe(":80", nil) } ```

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】