# fz2doc **Repository Path**: hackor/fz2doc ## Basic Information - **Project Name**: fz2doc - **Description**: 方正小样与doc互转 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-27 - **Last Updated**: 2026-07-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # fz2doc - 方正文档转换工具 fz2doc 是一个基于 Python Flask 和 Vue.js 构建的文档转换工具,主要用于实现**方正排版文件 (FBD)** 与 **Microsoft Word 文档 (DOCX)** 之间的格式互转。该工具提供了图形界面(GUI)和命令行接口(CLI)两种使用方式,支持单文件转换和批量转换,并包含完善的日志记录功能。 ## 主要特性 - **双向转换**:支持 FBD 转 DOCX 以及 DOCX 转 FBD。 - **批量处理**:支持指定输入输出目录进行批量文件转换。 - **图形界面**:提供基于 Vue 的 Web 界面,通过本地服务器访问。 - **命令行支持**:提供 CLI 命令行工具,便于集成到自动化流程中。 - **公式支持**:集成了公式转换逻辑(支持 FZ/LaTeX 格式)。 - **版式兼容**:支持读取 PRO 版式文件以辅助 FBD 转换。 - **日志追踪**:记录转换过程中的错误、警告和详细信息,便于排查问题。 ## 项目结构 ``` data/skyline/skyline-repo-cache/b4/d921e659101cd1b8ee3fb93e988d16884dbb024bcdb3d2769abc10b60f628b/ ├── backend/ # 后端服务核心代码 │ ├── api/app.py # Flask Web 服务 API │ ├── cli.py # 命令行接口 (CLI) 实现 │ ├── core/ │ │ ├── converters/ # 文件转换器 (FBD <-> DOCX) │ │ ├── parsers/ # 文件解析器 │ │ └── utils/ # 工具类 (文件操作、公式转换、日志管理) │ └── config/ # 配置文件 (字体映射等) ├── frontend/ # Vue.js 前端应用 │ ├── src/ │ │ ├── views/ # 页面视图 (Dashboard, FBDToDocx, DocxToFBD, Logs) │ │ └── router/ # 路由配置 │ └── package.json # 前端依赖配置 ├── desktop_app.py # 桌面应用入口 (封装 Web 服务为桌面程序) ├── requirements.txt # Python 依赖列表 └── setup.py # 项目安装配置 ``` ## 环境准备 ### 1. 安装 Python 依赖 请确保您的环境中已安装 Python 3.8 或更高版本。 ```bash pip install -r requirements.txt ``` ### 2. 安装前端依赖 (可选,仅在修改前端代码或需要完整构建时需要) ```bash cd frontend npm install ``` ## 使用方法 ### 方式一:图形界面 (推荐) 运行以下命令启动本地服务器并在默认浏览器中打开应用: ```bash python desktop_app.py ``` 或者,如果您已安装 Node.js,也可以分别启动前后端服务进行开发。 ### 方式二:命令行接口 (CLI) 该项目内置了功能完整的命令行工具,支持直接在终端执行转换任务。 **1. 单文件转换** * **方正 FBD 转 Word DOCX**: ```bash python -m backend.cli fbd-to-docx <输入FBD文件路径> <输出DOCX路径> [--pro-path <可选的PRO版式文件路径>] ``` * **Word DOCX 转方正 FBD**: ```bash python -m backend.cli docx-to-fbd <输入DOCX文件路径> <输出FBD路径> ``` **2. 批量转换** * **批量 FBD 转 DOCX**: ```bash python -m backend.cli batch-fbd-to-docx <输入目录> <输出目录> ``` * **批量 DOCX 转 FBD**: ```bash python -m backend.cli batch-docx-to-fbd <输入目录> <输出目录> ``` **3. 启动 Web 服务** 如果您只想单独启动 Web 服务(不自动打开浏览器): ```bash python -m backend.cli serve ``` ## API 参考 如果您需要通过编程方式调用转换功能,后端提供了 RESTful API。 * `POST /api/convert/fbd-to-docx`: 转换单个 FBD 文件。 * `POST /api/convert/docx-to-fbd`: 转换单个 DOCX 文件。 * `POST /api/convert/batch/fbd-to-docx`: 批量转换 FBD。 * `POST /api/convert/batch/docx-to-fbd`: 批量转换 DOCX。 * `GET /api/logs/recent`: 获取最近的转换日志。 * `GET /api/health`: 健康检查接口。 ## 注意事项 * **字体映射**:方正文档可能包含特定的非系统字体,工具会根据 `backend/config/font_mapping.json` 尝试进行映射或保留。 * **复杂公式**:复杂的 FBD 公式会尝试转换为 LaTeX 或 OMML 格式插入 Word 文档。 * **版式文件 (PRO)**:在进行 FBD 转 DOCX 时,如果提供了 PRO 文件,工具会尝试解析版式信息(如分栏、分页)以更精确地还原文档结构。