文档处理的相关工具

news2025/7/21 2:57:08

目前网页端的文档,可以通过沉浸式翻译来进行翻译阅读和学习。
但是某些文献只有pdf下载的版本,所以需要一个免费的针对pdf的翻译工具。
保留公式和图片格式。
推荐一个pdf翻译的工具,可以自己部署使用。如果需要word版本,后面讨论了几个工具,最后使用adobe 的pdf文档处理的。

文章目录

  • 英文pdf到中文和一些语言的pdf工具
    • 通过uv安装
    • 直接下载win安装版
    • python 下载和网页GUI
    • 参数
      • 语言
      • 📌 核心参数
      • ⚗️ 实验性选项(Experimental)
      • ⚠️ 使用建议
      • 💡 注意事项
    • 通过命令行使用
      • Key Notes:
  • pdf2word
  • Pandoc 使用说明
    • Pandoc
      • Windows
      • macOS
      • Linux
    • 基本语法
    • 常用转换示例
      • Markdown 转 HTML
      • Markdown 转 PDF
      • Markdown 转 Word
      • HTML 转 Markdown
      • LaTeX 转其他格式
    • 重要选项参数
      • 基本选项
      • 格式相关
      • PDF 相关选项
    • 高级用法
      • 使用模板
      • 过滤器使用
      • 元数据设置
      • 处理图片
    • 支持的格式
      • 输入格式
      • 输出格式
    • 实用技巧
      • 批量转换
      • 配置文件
      • 数学公式支持
    • 常见问题解决
      • 中文支持
      • 代码高亮

在这里插入图片描述

英文pdf到中文和一些语言的pdf工具

PDFMathTranslate

这里有网页版的直接使用

本地配置方案:达到的目的,把一个英文pdf文献,翻译为中文,并且变成可编辑的word格式。

通过uv安装

已安装 Python (3.10 <= 版本 <= 3.12)

pip install uv
uv tool install --python 3.12 pdf2zh

uv 是一个新一代的 Python 包管理工具,由开发 Ruff 的团队 (Astral) 创建,旨在替代传统的 pip 和 pip-tools。它的主要特点是:

极速安装:用 Rust 编写,比 pip 快 10-100 倍

跨平台:支持 Windows/macOS/Linux

兼容性:完全兼容 pip 和 requirements.txt

轻量化:独立的二进制文件,无需虚拟环境

pdf2zh document.pdf

直接下载win安装版

下载链接
pdf2zh-v1.9.9-with-assets-win64.zip: (推荐)带资源(字体、模型等)的 pdf2zh
因为字体的资源需要排版和识别。

python 下载和网页GUI

使用conda创建一个独立环境

conda  create -n pdf_translation python=3.12 
pip install pdf2zh
pdf2zh -i

在这里插入图片描述
最好在,需要生成的目录下,打开这个网页。

在这里插入图片描述
尝试使用
在这里插入图片描述

参数

这个命令应该有不少参数,网页端对于链接现在测试不通过。
但是file文件是可以使用的。

语言

可以看到对于主流的语言,翻译是覆盖了的
在这里插入图片描述
在这里插入图片描述
根据你提供的配置界面截图(image.png),这是 PDFMathTranslate 工具的选项设置界面。以下是各参数的详细解释:


📌 核心参数

  1. Service(翻译服务)

    • 当前选择:Bing
    • 说明:使用的翻译引擎(可能还支持 Google/DeepL 等)
  2. Translate from(源语言)

    • 当前选择:English
    • 说明:PDF 原文的语言
  3. Translate to(目标语言)

    • 当前选择:Simplified Chinese
    • 说明:需要翻译成的语言(简体中文)
  4. Pages(页面范围)

    • 选项:
      • All:转换全部页面
      • First:仅第一页
      • First 5 pages:前5页
      • Others:自定义页码范围(需手动输入)

⚗️ 实验性选项(Experimental)

  1. Number of threads(线程数)

    • 默认值:4
    • 说明:多线程处理加速转换(建议 ≤ CPU 核心数)
  2. Skip font subsetting(跳过字体子集化)

    • 说明:忽略 PDF 中的字体子集(可能加快速度但影响排版)
  3. Ignore cache(忽略缓存)

    • 说明:强制重新处理(适用于更新后的 PDF)
  4. Custom formula font regex(公式字体正则)

    • 说明:用正则表达式指定公式字体(高级用户使用)
  5. Use BabelDOC(✓ 已启用)

    • 说明:启用 BabelDOC 引擎(优化公式转换的兼容性)
    • 效果:
      • 提升复杂公式识别率
      • 支持 LaTeX/MathML 混合输出
      • 解决特殊符号乱码问题

⚠️ 使用建议

  1. 基础转换

    python translate.py input.pdf --to zh-CN --service bing
    
  2. 启用 BabelDOC(推荐):

    python translate.py input.pdf --use_babeldoc
    
  3. 多线程加速

    python translate.py input.pdf --threads 8
    
  4. 自定义页码范围

    python translate.py input.pdf --pages 1,3-5
    

💡 注意事项

  • BabelDOC 是核心功能:对含数学公式的 PDF 有显著优化效果
  • 线程数选择
    • 小文件:4 线程
    • 大文件(>50页):建议 8-12 线程
  • 中文排版:若遇乱码可尝试 --skip_font_subsetting

该界面通过 config_gui.py 启动(项目中的 GUI 配置文件),完整参数可参考 config.ini 文件。

通过命令行使用

更多的扩展命令和高级用法说明文档
此处会设置选择和配置模型。

Below is the organized table of command options for pdf2zh based on the provided information:

Option (选项)Function (功能)Example (示例)
filesLocal files (本地文件)pdf2zh ~/local.pdf
linksOnline files (在线文件)pdf2zh http://arxiv.org/paper.pdf
-iEnter GUI (进入图形用户界面)pdf2zh -i
-pPartial document translation (部分文档翻译)pdf2zh example.pdf -p 1
-liSource language (源语言)pdf2zh example.pdf -li en
-loTarget language (目标语言)pdf2zh example.pdf -lo zh
-sTranslation service (翻译服务)pdf2zh example.pdf -s deepl
-tMulti-threads (多线程)pdf2zh example.pdf -t 1
-oOutput dir (输出目录)pdf2zh example.pdf -o output
-f, -cExceptions (异常)pdf2zh example.pdf -f "(MS.*)"
-cp, --compatibleCompatibility Mode (兼容模式)pdf2zh example.pdf --compatible
--skip-subset-fontsSkip font subset (跳过字体子集)pdf2zh example.pdf --skip-subset-fonts
--ignore-cacheIgnore translate cache (忽略翻译缓存)pdf2zh example.pdf --ignore-cache
--sharePublic link (公共链接)pdf2zh -i --share
--authorizedAuthorization (授权)pdf2zh -i --authorized users.txt [auth.html]
--promptCustom Prompt (自定义提示)pdf2zh --prompt [prompt.txt]
--onnxUse Custom DocLayout-YOLO ONNX model (使用自定义 DocLayout-YOLO ONNX 模型)pdf2zh --onnx [onnx/model/path]
--serverportUse Custom WebUI/Gradio port (使用自定义 WebUI/Gradio 端口)pdf2zh --serverport 7860
--dirBatch translate (批量翻译)pdf2zh --dir /path/to/translate/
--configConfiguration file (配置文件)pdf2zh --config /path/to/config/config.json
--babeldocUse Experimental backend BabelDOC to translate (使用 BabelDOC 后端翻译)pdf2zh --babeldoc -s openai example.pdf
--mcpEnable MCP STDIO mode (启用 MCP STDIO 模式)pdf2zh --mcp
--sseEnable MCP SSE mode (启用 MCP SSE 模式,需配合 --mcp)pdf2zh --mcp --sse

Key Notes:

  1. 位置参数

    • files: 直接输入本地文件路径
    • links: 直接输入在线文件 URL
  2. 别名选项

    • 异常处理:-f-c 功能相同
    • 兼容模式:-cp--compatible 功能相同
  3. 依赖选项

    • --sse 需与 --mcp 同时使用
  4. 特殊模式

    • -i 启动 GUI 后,可配合 --share/--authorized 实现高级功能
    • --babeldoc 需指定翻译服务 (如 -s openai)
  5. 覆盖逻辑

    • --config 可覆盖其他命令行参数
    • --ignore-cache 强制重新翻译全文

pdf2word

pandoc

pdf2docx 这个python库,对于word的转换,支持的只有txt格式的pdf,对于图片无法处理。

直接使用Adobe Acrobat进行pdf转换。(有较多的图片块,可以编辑和粘贴,但是和正常的word版本不一致)

在这里插入图片描述

对于Pandoc使用进行的说明,适合。

Pandoc 使用说明

Pandoc 是一个强大的文档转换工具,被称为"文档转换的瑞士军刀"。它可以在多种标记格式之间进行转换,包括 Markdown、HTML、LaTeX、Word、PDF 等。但是此处并不是很合适,无法直接从pdf到word。

事实上,使用typora这个markdown的编辑器,并进行转换应用比较合适。

官网最新版本需要付费。
过去的版本,不需要付费

Pandoc

Windows

从 Pandoc 官网 下载 Windows 安装包,或使用包管理器:

# 使用 Chocolatey
choco install pandoc

# 使用 Scoop
scoop install pandoc

macOS

# 使用 Homebrew
brew install pandoc

# 使用 MacPorts
sudo port install pandoc

Linux

# Ubuntu/Debian
sudo apt-get install pandoc

# CentOS/RHEL
sudo yum install pandoc

# Arch Linux
sudo pacman -S pandoc

基本语法

Pandoc 的基本命令格式为:

pandoc [选项] [输入文件] -o [输出文件]

常用转换示例

Markdown 转 HTML

# 基本转换
pandoc input.md -o output.html

# 生成完整的 HTML 文档(包含 head 和 body)
pandoc input.md -s -o output.html

# 指定 CSS 样式
pandoc input.md -s --css style.css -o output.html

Markdown 转 PDF

# 需要先安装 LaTeX 或使用其他 PDF 引擎
pandoc input.md -o output.pdf

# 使用特定的 PDF 引擎
pandoc input.md --pdf-engine=xelatex -o output.pdf

# 设置中文支持
pandoc input.md --pdf-engine=xelatex -V mainfont="SimSun" -o output.pdf

Markdown 转 Word

pandoc input.md -o output.docx

# 使用自定义模板
pandoc input.md --reference-doc=template.docx -o output.docx

HTML 转 Markdown

pandoc input.html -o output.md

LaTeX 转其他格式

# LaTeX 转 HTML
pandoc input.tex -o output.html

# LaTeX 转 Word
pandoc input.tex -o output.docx

重要选项参数

基本选项

  • -o, --output:指定输出文件
  • -f, --from:指定输入格式
  • -t, --to:指定输出格式
  • -s, --standalone:生成完整的文档
  • --toc:生成目录

格式相关

# 明确指定输入输出格式
pandoc -f markdown -t html input.md -o output.html

# 生成带目录的文档
pandoc input.md --toc -s -o output.html

# 设置目录深度
pandoc input.md --toc --toc-depth=2 -s -o output.html

PDF 相关选项

# 设置页边距
pandoc input.md -V geometry:margin=1in -o output.pdf

# 设置字体
pandoc input.md -V mainfont="Times New Roman" -o output.pdf

# 设置文档类别
pandoc input.md -V documentclass=article -o output.pdf

高级用法

使用模板

# 使用自定义 HTML 模板
pandoc input.md --template=mytemplate.html -o output.html

# 查看默认模板
pandoc -D html > default.html

过滤器使用

# 使用 Lua 过滤器
pandoc input.md --lua-filter=filter.lua -o output.html

# 使用多个过滤器
pandoc input.md --filter=filter1 --filter=filter2 -o output.html

元数据设置

# 在命令行中设置元数据
pandoc input.md -V title="我的文档" -V author="作者名" -o output.html

# 使用元数据文件
pandoc input.md --metadata-file=metadata.yaml -o output.html

处理图片

# 提取媒体文件到指定目录
pandoc input.md --extract-media=./media -o output.html

# 设置图片路径
pandoc input.md --resource-path=./images -o output.html

支持的格式

输入格式

  • Markdown(多种变体)
  • HTML
  • LaTeX
  • Word docx
  • OpenDocument
  • MediaWiki
  • Textile
  • reStructuredText
  • Emacs Org mode

输出格式

  • HTML
  • LaTeX
  • PDF
  • Word docx
  • OpenDocument
  • ePub
  • MediaWiki
  • 各种幻灯片格式(reveal.js、Slidy、Beamer)

实用技巧

批量转换

# 批量转换所有 md 文件为 html
for file in *.md; do
    pandoc "$file" -o "${file%.md}.html"
done

配置文件

创建 ~/.pandoc/defaults.yaml 文件来设置默认选项:

from: markdown
to: html
standalone: true
toc: true
css: style.css

然后使用:

pandoc input.md -d defaults -o output.html

数学公式支持

# 使用 MathJax 渲染数学公式
pandoc input.md --mathjax -s -o output.html

# 使用 KaTeX
pandoc input.md --katex -s -o output.html

常见问题解决

中文支持

对于包含中文的文档,转换为 PDF 时需要:

pandoc input.md --pdf-engine=xelatex -V CJKmainfont="SimSun" -o output.pdf

代码高亮

# 启用语法高亮
pandoc input.md --highlight-style=github -s -o output.html

# 查看可用的高亮样式
pandoc --list-highlight-styles

Pandoc 是一个功能强大且灵活的工具,掌握这些基本用法后,你就可以轻松地在各种文档格式之间进行转换了。更多高级功能可以参考 Pandoc 官方文档。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2392373.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java基础(面向对象进阶高级)内部类

内部类 内部类概述、成员内部类 (了解&#xff09; 内部类创建对象&#xff1a; 一定要继承外部类对象&#xff0c;才能创建内部类对象。 拓展:成员内部类访问外部类的成员特点&#xff1a; 成员内部类中&#xff0c;是否可以直接访问外部类的实例成员?? 当然可以啊&#x…

使用Python,OpenCV,Tesseract-OCR对自己的运动数据图片进行识别及分析,并使用Matplotlib绘制配速图出来

使用Python,OpenCV,Tesseract-OCR对自己的运动数据图片进行识别及分析,并使用Matplotlib绘制配速图出来 1. 效果图2. 源码3. 全量源码及运动图片资源参考主要分为 目录下图片解析及读取;拼九宫格图片出来,可以自由配置(m*n)取决于自己有多少张运动图片遍历图片并进行运动…

小白的进阶之路系列之七----人工智能从初步到精通pytorch自动微分优化以及载入和保存模型

本文将介绍Pytorch的以下内容 自动微分函数 优化 模型保存和载入 好了,我们首先介绍一下关于微分的内容。 在训练神经网络时,最常用的算法是反向传播算法。在该算法中,根据损失函数相对于给定参数的梯度来调整参数(模型权重)。 为了计算这些梯度,PyTorch有一个内置…

创建型模式之 Builder (生成器)

创建型模式之 Builder (生成器) 摘要&#xff1a; 本文介绍了生成器&#xff08;Builder&#xff09;设计模式&#xff0c;属于创建型模式之一。该模式通过将复杂对象的构建与表示分离&#xff0c;使同一构建过程能创建不同表现形式。文章以小米汽车不同配置版本为例说明了模式…

智能物资出入库管控系统

概述 智能物资管理系统利用RFID自动识别技术&#xff0c;物联网技术、人脸识别、指纹、指静脉生物识别技术&#xff0c;应用于军械装备的管理&#xff0c;可实时准确采集军械装备编配、 储存、供应、使用等数据&#xff0c;实时掌握军械装备物资的分布及数量 状况。细化管理到…

机器学习-线性回归基础

一、什么是回归 依据输入x写出一个目标值y的计算方程&#xff0c;求回归系数的过程就叫回归。简言之&#xff1a;根据题意列出方程&#xff0c;求出系数的过程就叫做回归。 回归的目的是预测数值型的目标值y&#xff0c;分类的目的预测标称型的目标值y。 二、线性回归 2.1线性…

[Vue组件]半环进度显示器

[Vue组件]半环进度显示器 纯svg实现&#xff0c;不需要其他第三方库&#xff0c;功能简单&#xff0c;理论上现代浏览器都能支持 封装组件 所有参数都选填&#xff0c;进度都可选填 <template><div class"ys-semiring"><div class"svg-container…

科技赋能建筑行业,智能楼宇自控系统崭露头角成发展新势力

在科技浪潮席卷全球的时代背景下&#xff0c;传统建筑行业正面临着前所未有的变革压力。随着城市化进程加快&#xff0c;建筑规模与复杂度不断攀升&#xff0c;能源消耗、运营效率、用户体验等问题日益凸显。智能楼宇自控系统凭借物联网、大数据、人工智能等前沿技术&#xff0…

白杨SEO:做AI搜索优化的DeepSeek、豆包、Kimi、百度文心一言、腾讯元宝、通义、智谱、天工等AI生成内容信息采集主要来自哪?占比是多少?

大家好&#xff0c;我是白杨SEO&#xff0c;专注SEO十年以上&#xff0c;全网SEO流量实战派&#xff0c;AI搜索优化研究者。 在开始写之前&#xff0c;先说个抱歉。 上周在上海客户以及线下聚会AI搜索优化分享说各大AI模型的联网搜索是关闭的&#xff0c;最开始上来确实是的。…

显示docker桌面,vnc远程连接docker

目录 相关概念&#xff1a; 实现步骤&#xff1a; 1.启动docker容器 2.安装x11 3.Docker 容器中安装一个完整的图形桌面&#xff08;XFCE&#xff09;和 VNC 远程桌面服务器&#xff08;TightVNC&#xff09; 4.配置vncservice 5.本地安装VNC Viewer连接VNC Viewer下载地…

腾讯云国际站性能调优

全球化业务扩张中&#xff0c;云端性能直接决定用户体验与商业成败。腾讯云国际站通过资源适配、网络优化与存储革新&#xff0c;为企业提供全链路调优方案。 ​​资源精准适配​​ 实例选型需与业务场景深度耦合&#xff0c;计算优化型实例加速AI训练效率3倍&#xff0c;内存…

深入解析操作系统内核与用户空间以及内核态与用户态转换

用户空间和内核空间的划分是现代操作系统的基础&#xff0c;对应用程序网络模型的设计和优化有着深远的影响。 内核空间与用户空间的分工 现代操作系统为了保证系统的稳定性和安全性&#xff0c;将虚拟内存空间划分为用户空间和内核空间。 一、用户空间 用户空间是用户程序…

每日一题洛谷P8662 [蓝桥杯 2018 省 AB] 全球变暖c++

P8662 [蓝桥杯 2018 省 AB] 全球变暖 - 洛谷 (luogu.com.cn) DFS #include<iostream> using namespace std; int n, res; char a[1005][1005]; bool vis[1005][1005]; bool flag; int dx[4] { 0,0,1,-1 }; int dy[4] { 1,-1,0,0 }; void dfs(int x, int y) {vis[x][y]…

【JVM】初识JVM 从字节码文件到类的生命周期

初识JVM JVM&#xff08;Java Virtual Machine&#xff09;即 Java 虚拟机&#xff0c;是 Java 技术的核心组件之一。JVM的本质就是运行在计算机上的一个程序&#xff0c;通过软件模拟实现了一台抽象的计算机的功能。JVM是Java程序的运行环境&#xff0c;负责加载字节码文件&a…

多级体验体系构建:基于开源AI智能客服与AI智能名片的S2B2C商城小程序体验升级路径研究

摘要&#xff1a;在体验经济时代&#xff0c;传统企业单一的总部体验模式难以覆盖全链路用户需求。本文针对B端与C端体验深度差异&#xff0c;提出“一级总部体验—二级区域体验—三级终端体验”的分层架构&#xff0c;并引入“开源AI智能客服”与“AI智能名片”技术&#xff0…

Git切换历史版本及Gitee云绑定

1、git介绍 Git是目前世界上最先进的分布式版本控制系统 Linux <- BitKeeper&#xff08;不是开源的&#xff0c;但免费的&#xff0c;后来要收费&#xff09; Linus Torvalds(林纳斯托瓦兹) 两周时间吧&#xff0c;弄了个 Git&#xff1b;大约一个月就把Linux代码从BitK…

服务器的IP是什么东西?

一、什么是服务器的IP地址&#xff1f; 服务器的IP地址是互联网协议&#xff08;Internet Protocol&#xff09;的缩写&#xff0c;是服务器在网络中的唯一数字标识符。它类似于现实生活中的门牌号&#xff0c;用于标识服务器在网络中的位置&#xff0c;使其他设备能够通过它与…

[问题解决]:Unable to find image ‘containrrr/watchtower:latest‘ locally

一&#xff0c;问题 在使用docker安装部署新应用的时候&#xff0c;报错&#xff1a;Unable to find image containrrr/watchtower:latest locally 分析认为是当前docker的资源库里找不到这个软件的镜像&#xff0c;需要配置一个包含这个软件镜像的新的资源库。 二&#xff0…

【文件上传】阿里云对象存储服务实现文件上传

一、基础 上传到本地&#xff1a; package org.example.controller;import lombok.extern.slf4j.Slf4j; import org.example.pojo.Result; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; imp…

IPv6代理如何引领下一代网络未来

随着互联网技术的不断发展&#xff0c;IPv6逐渐成为下一代网络协议的核心&#xff0c;替代IPv4已是大势所趋。IPv6代理作为IPv6网络环境下的重要工具&#xff0c;为用户提供了更高效、更安全的网络解决方案。 IPv6代理的定义 IPv6代理是在IPv6网络环境中为处理IPv4转换和其他网…