10 款 PDF 翻译软件对比(一)有公式和代码的页面

能够 PDF 全文档翻译的软件有很多,价格不一,效果也各有千秋。要知道哪一款最好用最合适,可能自己亲手一个一个测试是最理想的。次理想的办法,就是看详细的测评。

这次我选择了网上比较多人提到的 10 款在线 PDF 翻译软件,做一个较为仔细的对比。

翻译对象还是 bitcoin.pdf,因为这份 pdf 的格式很干净、很简单,但又有足够丰富的元素。对比的是有公式和代码的第七页。

因为只评了一个 PDF 里面的其中一页,而且评分中对公式和代码的保留的权重很大,所以评价肯定是片面的。各位使用时,还是要根据自己的需求来选择。

10 款 PDF翻译软件分别为:

  • DeepL https://www.deepl.com/translator/files
  • Google Translate https://translate.google.com/?op=docs
  • 有道翻译 https://fanyi.youdao.com/index.html#/documentUpload
  • 福昕PDF翻译 https://fanyi.pdf365.cn/doc
  • 翻译狗 https://www.fanyigou.com/
  • SimplifyAI 文档翻译 https://translate.simplifyai.cn
  • 百度文档翻译 https://fanyi.baidu.com/
  • 搜狗文档翻译 https://fanyi.sogou.com/
  • 彩云小译 https://fanyi.caiyunapp.com/#/
  • 智能翻译官 https://www.fanyi1234.com/

前面四段文本,我尝试结合自己对 bitcoin 的理解,人工翻译如下:

根据我们的假设,即p > q,随着攻击者需要赶上的区块数量增加,概率会呈指数下降。面对不利的情况,如果他在开始阶段没有幸运地迅速取得进展,随着他落后的程度增加,他的机会将变得微乎其微。

我们现在考虑接收新交易的接收者需要等待多长时间,才能足够确定发送者无法更改交易。我们假设发送者是一名攻击者,他希望让接收者相信他已经支付了一段时间,然后在一段时间后将交易改为支付给自己。当发生这种情况时,接收者将收到警报,但发送者希望那时已经为时太晚。

接收者在签名之前生成一对新的密钥,并将公钥交给发送者。这可以就防止发送者通过不断地工作来提前准备一串区块,直到有幸足够领先后,在那时才执行交易。一旦交易发送后,不诚实的发送者就可以秘密地开始在一个并行的链上工作,其中包含他交易的另一个版本。

接收者等待,直到交易被添加到一个区块中,并且其后链接了z个区块。他不知道攻击者已经取得了多少确切的进展,但是假设诚实的区块花费了每个区块的平均预期时间,攻击者的潜在进展将服从泊松分布,其期望值为:

接下来我的评估将考虑以下四点:

  1. 文本的翻译是否准确(占 2 分)
  2. 文本的翻译是否通顺、一致(占 1 分)
  3. 公式是否正确保留(占 1 分)
  4. 代码是否正确保留(占 1 分)

满分为 5.

文本的准确性上,有以下问题,扣 1 分:

  • 区块被翻译成了“棋块”
  • 第二段中“他想让收款人相信他给了一段时间的钱,然后在一段时间过去后再把钱转还给自己”,有点过于意译,导致不符合原文意思。
  • “…提前准备好区块链,持续不断地处理区块链….” 中的“处理”是错误的,原文为 by working on it continuously,应该翻译为在该链上不断地工作。
  • “将是具有期望值的泊松分布”,这句翻译是不准确,没有考虑到冒号和后面的公式,正确版本应为“将是一个泊松分布,其期望值为:”

文本的一致性上,因为收款人/收件人/接收方、发款人/发件人/发送方交替使用,这一点要扣分。扣 0.5 分。

复杂的公式已经不能准确显示。扣 1 分

代码正确保持。

评分:2.5

准确性上的问题如下,扣 0.5 分:

  • “通过连续处理来提前准备一系列区块”,这里的“连续处理”是错的
  • “将是具有期望值的泊松分布”,这句翻译是不准确,没有考虑到冒号和后面的公式,正确版本应为“将是一个泊松分布,其期望值为:”

文本的一致性上,有个接收方跟接收者交替使用,但这不是什么问题,不像 DeepL 中的收款人和收件人那么突兀。

公式已经错了。扣 1 分

C 代码也被翻译了,没有正确保留。 扣 1 分。

综合评分:2.5

文本准确性在这里有点问题,扣 0.5 分

  • “他想让接收者相信他在一段时间内支付了他….”,有歧义,应为“已经支付了一段时间,然后….”。
  • “将是期望值的泊松分布”,这句翻译是不准确,没有考虑到冒号和后面的公式,正确版本应为“将是一个泊松分布,其期望值为:”

公式已经不能看了,扣 1 分。

代码没有正确保留,扣 1 分。

得分:2.5。

准确性上有如下问题,扣 1 分:

  • “连续处理区块链”中的“处理”不准确。
  • “他想让收件人相信他付给了他一段时间,然后在一段时间后将其转换为还钱给自己” 中 “还钱给自己” 不符合原意;
  • “正在转换为 C 代码” 中不应该有“正在”
  • “将是具有期望值的泊松分布”,这句翻译是不准确,没有考虑到冒号和后面的公式,正确版本应为“将是一个泊松分布,其期望值为:”

文本的一致性上,因为接收者/收件人/接收方、发送者/发件人/发送方、进展/进步交替使用,扣 0.5 分。

公式已经不能看了,扣 1分。

代码没有正确保留,扣 1 分。

得分: 1.5

文本准确性上的问题,如下,扣 0.5 分。

  • “连续处理”中的“处理”是错的
  • “将是具有期望值的泊松分布”,这句翻译是不准确,没有考虑到冒号和后面的公式,正确版本应为“将是一个泊松分布,其期望值为:”

文本的一致性上,因为接收者/收件人/接收方、发送者/发件人/发送方交替使用,扣 0.5 分。

公式已经不能看了,扣 1分。

代码没有正确保留,扣 1 分。

得分: 2

(利益相关)

文本的准确性上,“With the odds against him\” 被译成“面对不利的赔率”,有点不合理,扣 0.5 分。

行文很通顺,用词也保持一致。

公式保留的很好,有一个 if 被翻译成了“如果“,但基本不影响公式阅读。

代码被正确地保留。

得分:4.5。

准确性上有如下问题,扣 1 分:

  • “连续处理区块链”中的“处理”不准确。
  • “他想让收件人相信他付给了他一段时间,然后在一段时间后将其转换为还钱给自己” 中 “还钱给自己” 不符合原意;
  • “正在转换为 C 代码” 中不应该有“正在”
  • “将是具有期望值的泊松分布”,这句翻译是不准确,没有考虑到冒号和后面的公式,正确版本应为“将是一个泊松分布,其期望值为:”

文本的一致性上,因为接收者/收件人/接收方、发送者/发件人/发送方、进展/进步交替使用,扣 0.5 分。

公式已经不能看了,扣 1分。

代码没有正确保留,扣 1 分。

可以注意到,百度文档翻译和福昕翻译几乎是一样的。可能后者是调用前者的接口。

得分: 1.5

准确性上有如下问题,扣 1 分:

  • “区块”被翻译成了“数据块”,有些“交易”被翻译成了“事务”。
  • “不断地处理它”,应为“不断地在它上面工作”。
  • “他想让接收者相信他支付了他一段时间,然后在一段时间后再把钱还给自己” 中 “再把钱还给自己” 不符合原意;
  • “将是具有期望值的泊松分布”,这句翻译是不准确,没有考虑到冒号和后面的公式,正确版本应为“将是一个泊松分布,其期望值为:”

公式已经不能看了,扣 1 分。

代码没有正确保留,扣 1 分。

得分: 2

准确性上有如下问题,扣 1 分:

  • “区块”被翻译成了“块”,“交易”全被翻译成了“事务”。
  • “不断地处理它”,应为“不断地在它上面工作”。
  • “将是具有期望值的泊松分布”,这句翻译是不准确,没有考虑到冒号和后面的公式,正确版本应为“将是一个泊松分布,其期望值为:”

公式已经不能看了,扣 1 分。

代码没有正确保留,扣 1 分。

得分: 2

准确性上问题较多,扣 2 分:

  • Block 被翻译成“块“和“街区”
  • attacher 没有翻译;
  • “他希望让收件人相信他付给他一段时间的钱,然后在一段时间后切换到偿还给自己”中的“偿还”是错的。
  • Recipient 被翻译成了“接收器”,这是错的。
  • z 被翻译成了“罗马字母表第 26 个字母”
  • “潜在进展将是具有预期价值的泊松分布”,这句翻译不准确,没有考虑到冒号和后面的公式,正确版本应为“潜在进展将是一个泊松分布,其期望值为:”。
  • “假设诚实的块占用了每个块的平均预期时间”,这里的 took 翻译成“占用”是错误的,应该是“用了”或者“花费了”。
  • “避免将分布的无限尾巴相加”,这里的 tail 翻译成尾巴不是很合适,“相加” 换成“求和”比较合理,虽然意思一样。

公式已经不能看了,扣 1分。

代码没有正确保留,扣 1 分。

得分:1

以上就是 10 款 PDF 翻译工具的一次横向对比,下面再列一下各家的链接,大家可以自行测试。括号是我这次测评给的分。

  • DeepL https://www.deepl.com/translator/files (2.5)
  • Google Translate https://translate.google.com/?op=docs (2.5)
  • 有道翻译 https://fanyi.youdao.com/index.html#/documentUpload (2.5)
  • 福昕PDF翻译 https://fanyi.pdf365.cn/doc (1.5)
  • 翻译狗 https://www.fanyigou.com/ (2)
  • SimplifyAI 文档翻译 https://translate.simplifyai.cn (4.5)
  • 百度文档翻译 https://fanyi.baidu.com/ (1.5)
  • 搜狗文档翻译 https://fanyi.sogou.com/ (2)
  • 彩云小译 https://fanyi.caiyunapp.com/#/ (2)
  • 智能翻译官 https://www.fanyi1234.com/ (1)

再次强调,因为只评了一个 PDF 里面的其中一页,而且评分中对公式和代码的保留的权重很大,所以评价肯定是片面的。

使用时还是要考虑自己文档的具体情况来选择。

如果对你有用,记得点赞收藏.

使用 5 行 Python 代码拆分或合并 PDF 文件

如果希望从大型 PDF 文件中提取特定页面或将多个 PDF 文件合并为一个文件,可以使用一些 PDF 编辑器来完成,但是你可能会发现拆分或合并功能在很多免费版 PDF 编辑工具中通常不可用。在本文中,我将分享一个简单的解决方案,用几行 Python 代码拆分或合并多个 PDF 文件。

Python 中的 PyPDF3 库提供了读取、合并、写入 pdf 文件的类,方便程序员完成 Pdf 文件的处理操作。

  • PdfFileReader: 用于执行与读取文件相关的所有操作。
  • PdfFileMerger: 用于将多个 pdf 文件合并在一起。
  • PdfFileWriter: 用于对 pdf 执行写入操作。

使用 PyPDF3 处理 Pdf 文件,需要在工作环境中安装此库。

pip install PyPDF3

想从 PDF 文件中提取特定页面并使其成为单独的 PDF 文件时,可以使用 PdfFileReader 读取原始文件,然后获取特定页面(页码从 0 开始)。使用 PdfFileWriter 的 addPage() 方法将 PDF 页面添加到新的 PDF 中并保存。

下面的示例代码中,从“1.Pdf”提取第一页,并将其存储到一个名为“2.pdf” 的 PDF 文件中。

「拓展」

可以使用 getNumPages() 方法,获取 Pdf 中的页码,灵活的进行页面处理。

下面的示例代码中,从“1.Pdf”分别提取偶数页和奇数页,并将其分别存储到“2.pdf”和“3.pdf”中。

要将多个 PDF 文件合并为一个文件,可以使用 PdfFileMerger 来实现。虽然也可以使用 PdfFileWriter,但是当在合并页面之前不需要编辑页面时,PdfFileMerger 可能更直接。

下面示例代码中,使用 PdfFileMerger 的 append() 方法将多个 PDF 文件合并写入一个名为 merged.pdf 的 PDF 文件中。

如果不想包含原始文件中的所有页面,可以指定一个具有起始页码和结束页码的元组作为 append() 的页面参数,以便仅将指定的页面添加到新 PDF 文件中。

output.append(pdf_file1, (0, 10)) # 前十页

append() 是在文件最后添加新页面,如果想指定要放入页面的位置,则应使用 merge(),允许指定要添加的页面的位置。

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。