Невозможно написать арабские буквы в PDF-файл в Python 3

У меня есть файл PDF с полями, которые необходимо заполнить. Я даю вклад в поля в терминах словаря. Я могу заполнить поля на разных языках, но когда я пробую арабский язык, поле пустое, но код выполняется без ошибок.

Я попытался просто написать арабский текст в текстовый файл, и он пишет без какой-либо необходимости кодирования или декодирования.

Я использую следующий код, чтобы написать выходной файл PDF

from PyPDF2 import PdfFileWriter, PdfFileReader


def update_form_values(infile, outfile, newvals=None):
#newvals has the dictionary that contains the value for the fields

pdf = PdfFileReader(open(infile, 'rb'))
writer = PdfFileWriter()

for i in range(pdf.getNumPages()):
    page = pdf.getPage(i)
    try:
        if newvals:
            writer.updatePageFormFieldValues(page, newvals)

        else:
            writer.updatePageFormFieldValues(page,
                                             {k: f'#{i} {k}={v}'
                                              for i, (k, v) in enumerate(newvals.items())
                                              })
        writer.addPage(page)
    except Exception as e:
        print(repr(e))
        writer.addPage(page)

with open(outfile, 'wb') as out:
    writer.write(out)

Я мог бы предоставить дополнительные строки кода или любую другую помощь, которая может вам понадобиться, чтобы найти решение.

0 ответов

Другие вопросы по тегам