之前写Pandoc,才意识到自己是多么无知,如此牛逼的开源项目,之前居然从来没听说过;因此本文汇总整理围绕Pandoc的生态项目。

ConvertX

开源(GitHub,18.5K Star,1K Fork)自托管文件格式转换工具,前端基于TS+Bun+Elysia,本质上集成若干文件处理的第三方库,文档处理使用Pandoc,视频处理使用FFmpeg,ImageMagick做图片,支持1000+格式。

类似项目:Morphos、TynzX/ConvertX

类别支持格式数背后引擎
图像245+Vips/ImageMagick/GraphicsMagick/Inkscape
文档41种(LibreOffice)+43进/65出(Pandoc)LibreOffice/Pandoc
音视频472进/199出FFmpeg
3D模型77种Assimp
电子书26种Calibre

实战

基于Docker Compose部署:

# docker-compose.yml
services:
  convertx:
    image: ghcr.io/c4illin/convertx:latest
    container_name: convertx
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      - JWT_SECRET=随机密钥 # 建议32位以上
      - ACCOUNT_REGISTRATION=false # 禁用公开注册(首个账户仍可创建)
      - ALLOW_UNAUTHENTICATED=false # 必须登录才能用(生产环境推荐)
      - AUTO_DELETE_EVERY_N_HOURS=24 # 24小时后自动清理旧文件
      - MAX_CONVERT_PROCESS=0 # 0=无并发限制,按需调低
    volumes:
      - ./data:/app/data

变量解读

变量默认值建议
JWT_SECRET随机UUID务必手动设置
HTTP_ALLOWEDfalse仅本地测试时设true,否则需HTTPS
ACCOUNT_REGISTRATIONfalse多人使用设true
ALLOW_UNAUTHENTICATEDfalse内网trust环境可设true
FFMPEG_ARGS空视频转码加-hwaccelvaapi启用硬加速
AUTO_DELETE_EVERY_N_HOURS24磁盘紧张可调小,0禁用自动清理

Zettlr

官网,中文官网,开源(GitHub,13.4K Star,827 Fork)一款专为学术写作、研究人员和知识工作者打造的开源Markdown编辑器,支持Zettelkasten卡片盒笔记法、Zotero引文管理、Pandoc多格式导出,让研究与写作流程更加高效流畅。

功能特性:

  • 配合Zotero、JabRef等文献管理工具,处理引用与参考文献
  • 导出功能基于Pandoc,并支持LaTeX、Word模板和Textbundle
  • 支持Zettelkasten卡片笔记方法
  • 其他:全文搜索、代码高亮、片段模板、自定义 CSS 和多语言界面

适用于:论文、书稿、调研报告或带有大量引用的文章编辑等场景。

实战

Quarto

官网,使用JavaScript和TypeScript开发、下一代学术出版和科学文档开源(GitHub,5.9K Star,453 Fork)系统,R Markdown的继承者,底层核心依赖Pandoc,支持Lua脚本。

实战

以Windows系统为例,从GitHub Release页面下载quarto-1.11.1-win.msi,或免安装版本quarto-1.11.1-win.zip,解压缩,双击安装。

R Markdown

官网,使用R+JavaScript+CSS开发、开源(GitHub,3.1K Star,992 Fork)。

PanWriter

官网,开源(GitHub,1.3K Star,63 Fork)跨平台基于Pandoc的Markdown编辑器,通过GUI的方式实现Pandoc部分文档转换功能。

MCP-Pandoc

纯Python实现、开源(GitHub,575 Star,63 Fork)项目,基于MCP的Pandoc服务器,使AI工具(如Claude桌面端)可以直接调用Pandoc做文档格式转换。

实战

基于pip安装:pip install mcp-pandoc

Pandoc-xnos

开源(GitHub,114 Star,26 Fork)项目,一个用于在Pandoc处理的Markdown文档中进行交叉引用的过滤器套件。它提供了对图形、方程式、表格和章节的编号和引用功能。

该套件包含以下独立维护的过滤器:

  • pandoc-fignos:对图形和图形引用进行编号
  • pandoc-eqnos:对方程式和方程式引用进行编号
  • pandoc-tablenos:对表格和表格引用进行编号
  • pandoc-secnos:对章节引用进行编号(章节由 Pandoc 自身编号)

这些过滤器支持LaTeX、PDF、HTML和EPUB输出,对DOCX输出的原生支持正在开发中。

最后一次提交日期还停留在20年11月11日。

自动编号过滤器的集合——pandoc-fignos(图表编号)、pandoc-tablenos(表格编号)、pandoc-eqnos(公式编号)、pandoc-secnos(章节编号)。这些过滤器解决了 Markdown 学术写作中最头疼的问题——在转换后自动生成"图 1、表 2、公式 3"的引用。

PandocGUI

给Pandoc套一层好用的GUI,应该是最容易想到、实现、刚需的一点。在GitHub里不止一个开源项目在做这件事。

Ombrelin

纯C#实现、开源(GitHub,196 Star,13 Fork)轻量级、跨平台GUI包装器。

实战

最快速的安装方式就是从GitHub Release页面下载二进制安装包,如Windows系统下的pandoc-gui-setup.exe,双击安装即可。界面和下面的基于源码部署没有差别。

基于命令行安装:

# Windows
choco install pandoc miktex -y
winget install MiKTex
winget install Pandoc
# Linux
sudo apt-get install pandoc texlive-latex-extra texlive-latex-recommended
# macOS
brew install pandoc
curl http://mirror.ctan.org/systems/mac/mactex/BasicTeX.pkg -o
sudo installer -pkg BasicTeX.pkg -target /

基于源码和.NET环境部署体验:

git clone https://github.com/Ombrelin/pandoc-gui
cd pandoc-gui/src/PandocGui
dotnet run

官方文档提示:需确保.NET Core SDK版本为6。由于6版本太过于老旧,GPT提示安装8:
在这里插入图片描述
使用8版本执行dotnet run,运行报错。下载安装6版本,运行命令依旧给出(相同的)报错:
在这里插入图片描述
靠,搞错了,报错意思是需安装10版本:winget install Microsoft.DotNet.SDK.10。

参考本地下载成功的.NET Core SDK版本:dotnet --list-sdks

切换当前项目使用的版本:dotnet new globaljson --sdk-version 10.0.400

再次执行dotnet run:
在这里插入图片描述
选中源文件,设置目标文件(路径+后缀名),点击导出。

理论上是这样的,很简单。

实际使用时,各种问题,PDF文档转PNG图片,提示95?看终端打印日志
在这里插入图片描述
程序卡顿
在这里插入图片描述

ZhengMingpei

又一个纯C#实现、GitHub,16 Star,2 Fork,真正轻量级面向Windows系统的GUI包装器。注:GitHub仅用于存放.zip压缩包,并没有源码(不过,可通过反编译破解)。另外,代码库最后一次更新是21年1月4号,而且并不是替换zip压缩包,而是更新README。没啥参考价值。

从GitHub下载pandocGUI_1_0.zip,解压缩,双击setup.exe一闪而过,浪费时间。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐