-1

我正在开发一个简单的应用程序,它将帮助我将所有包含英文文本的 pdf 文件转换为 pdf 的法文文本。我研究了一个简单的概念证明,它可以帮助我遍历给定的文件并将所有文本转换为法语。现在我坚持将转换后的法语文本保存为具有与原始英文版本相似结构的 pdf。

import PyPDF2
from googletrans import Translator
translator = Translator()

read_pdf = PyPDF2.PdfFileReader(open('any_english.pdf', 'rb'))
write_pdf = PyPDF2.PdfFileWriter()
number_of_pages = read_pdf.getNumPages()

for i in range(number_of_pages):
    page = read_pdf.getPage(i)
    page_content = page.extractText()
    print translator.translate(page_content, dest='fr').text

    // Save the converted version text in french into a pdf conserving structure as original pdf

**笔记

pdf中的所有内容都是文本格式而不是图像。

4

3 回答 3

3

没有简单的方法可以在 Python 中打开、编辑和重写 pdf。但是,根据 PDF/结构的复杂性,您可能会成功地将 PDF 转换为 HTML,翻译然后从 HTML 生成 PDF。

为了将 PDF 转换为 HTML,pdf2html有一个基本的Python 包装器

翻译完成后,您可以使用例如weasyprinthtml2pdf(仅限 Mac)、wkhtmltopdf(需要 Qt)来以不同程度的成功反转此过程。

于 2018-03-08T10:37:20.840 回答
1

基本上你不能直接创建特定格式的 PDF 文件。但是您可以尝试以 xhtml 格式编写数据,然后使用 xhtml2pdf 转换为 .pdf。希望这可以帮助您满足您的要求。

于 2018-03-08T10:41:25.627 回答
0

您可以使用文本

import textract
text = textract.process('path/to/a.pdf', language='fr')

默认情况下,它保留布局

于 2020-01-30T17:01:25.347 回答