Я работаю над простым приложением, которое поможет мне преобразовать все мои 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 - это текстовый формат, а не изображение.

-1
Bastin Robin 28 Фев 2018 в 06:58

3 ответа

Лучший ответ

В Python нет простых способов открывать, редактировать и переписывать PDF-файлы. Однако, в зависимости от сложности PDF / структуры, вы можете успешно преобразовать PDF в HTML, перевести и затем сгенерировать PDF из HTML.

Для преобразования PDF в HTML есть pdf2html, который имеет базовый Оболочка Python.

Как только перевод сделан, вы можете повернуть этот процесс с различной степенью успеха, например, используя weasyprint, html2pdf (только для Mac), wkhtmltopdf (требуется Qt).

2
mfitzp 8 Мар 2018 в 10:37

Вы можете использовать textract

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

По умолчанию сохраняет макет

0
Henrique 30 Янв 2020 в 17:01

По сути, вы не можете напрямую создать PDF-файл в определенном формате. Но вы можете попробовать записать свои данные в формате xhtml, а затем преобразовать в .pdf, используя xhtml2pdf. Надеюсь, что это может помочь вам в вашем требовании.

1
Induprasad 8 Мар 2018 в 10:41