Я работаю в Python 3.7 и у меня запущен порт Python FPDF 2.0.3 (https://pypi.org/project/fpdf2/). Я работаю с большим количеством символов Unicode, и некоторые из них должны быть частьюURL. Я могу написать их как текст без проблем, но я продолжаю получать сообщения об ошибках, когда символ Unicode становится частью моего URL.
Попытка сбежать с html.escape (str), это неработа Переписать код для использования write_html (html_as_str), это тоже не сработало
это рабочий код:
add = "Chronique d‘Égypte (CdE)" ##this is actually pulled in from a MYSQL query using PYMYSQL
from fpdf import FPDF
pdf = FPDF('P', 'mm', 'A4')
pdf.add_page()
pdf.add_font('base', '', r'C:\Fonts\DejaVuSans.ttf', uni=True)
pdf.set_font('base', '',12)
pdf.write(5, add)
pdf.output("goodfile.pdf", "F")
С помощью этого скрипта я получаю напечатанную строку. Однако я хочустрока, которая будет напечатана и будет частью URL-адреса следующим образом:
add = "Chronique d‘Égypte (CdE)" ##this is actually pulled in from a MYSQL query using PYMYSQL
from fpdf import FPDF
pdf = FPDF('P', 'mm', 'A4')
pdf.add_page()
pdf.add_font('base', '', r'C:\Fonts\DejaVuSans.ttf', uni=True)
pdf.set_font('base', '',12)
pdf.write(5, add, 'https://www.example.org/index.php?searchterm='+add)
pdf.output("goodfile.pdf", "F")
Этот второй скрипт завершается ошибкой со следующим сообщением об ошибке в моей консоли:
Traceback (most recent call last):
File ".\print.py", line 543, in <module>
pdf.output(Filename+'_CORPUS.pdf', 'F')
File "C:\Users\me\AppData\Local\Programs\Python\Python37\lib\site-packages\fpdf\fpdf.py", line 1239, in output
buffer = self.buffer.encode("latin1")
UnicodeEncodeError: 'latin-1' codec can't encode character '\u2018' in position 1587960: ordinal not in range(256)
Само сообщение об ошибкеЭто сбивает с толку, так как часть, которая добавляет строку, которая вызывает ошибку, происходит вокруг строки 470, тогда как в трассировке упоминается только строка 543.
Я ожидаю, что вывод будет кликабельной ссылкой в моем pdf, открывая браузер по умолчанию иперейти к указанному URL с символами, как они есть в PDF.Я не могу заменить этот символ обычной цитатой, поскольку он дает мне другие (в данном случае ни одного) результаты на этом сайте.
Кроме того, может ли кто-нибудь добавить тег FPDF2, чтобы помочь правильно классифицировать это?