Я пытаюсь добавить текст со ссылкой, используя ReportLab Canvas.
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import A4
c = canvas.Canvas("../media/quotes/test.pdf", pagesize=A4)
deco_logo = ImageReader('../static/img/new-logo.png')
c.drawImage(deco_logo, 10, 772, mask='auto')
quickstep_logo = ImageReader('../static/img/QuickStep-logo.jpg')
c.drawImage(quickstep_logo, 425, 758, width=161 ,height=70 , mask='auto')
#
motto = '<link href="https://www.facebook.com/KenyaHomesExpo/posts/2096214210455800?__xts__%5B0%5D=68.ARCB4JT7q3W-idVUY-bJbC902-euV6DS6AOv8AHe0k9SPRHvRR95N2aEBkehIwW2P6QCxibQHZB9kKmC4uHaIjICIgEdXwROc5-z-tXCaLKXH655AtXeQQo94KqB-6r8csqc_D8RxE7sxhxHppmYabM9x_1w1TGSDpeYGO2FuE2Z3mtmUUVQ7bYs8B6Nglds0_yu89JwRZOssLu_daXpluKT7R4gyaSclGYR1BB9sewlgOgdE-ZbZ_e57WvF3mASy1c-wJE0SE3BK7w7AbclMQhrgp8ep8jIEgxN8BcICHbMWfUC6MvS74PRDg0nxKB9ve6RNvhbENiMDmMvwp8GaFbFpw&__tn__=-R">The Kenya Homes Expo</link>'
c.drawString(100, 775, motto)
это выглядит даже при использовании <a href="link">Text</a>
format.
Это выполнимо, потому что у вас может быть документ в формате pdf со ссылкой, он искал того, кто делает это, но не нашел прямого ответа.
Использование platypus
motto = '<link href="https://www.facebook.com/KenyaHomesExpo/posts/2096214210455800?__xts__%5B0%5D=68.ARCB4JT7q3W-idVUY-bJbC902-euV6DS6AOv8AHe0k9SPRHvRR95N2aEBkehIwW2P6QCxibQHZB9kKmC4uHaIjICIgEdXwROc5-z-tXCaLKXH655AtXeQQo94KqB-6r8csqc_D8RxE7sxhxHppmYabM9x_1w1TGSDpeYGO2FuE2Z3mtmUUVQ7bYs8B6Nglds0_yu89JwRZOssLu_daXpluKT7R4gyaSclGYR1BB9sewlgOgdE-ZbZ_e57WvF3mASy1c-wJE0SE3BK7w7AbclMQhrgp8ep8jIEgxN8BcICHbMWfUC6MvS74PRDg0nxKB9ve6RNvhbENiMDmMvwp8GaFbFpw&__tn__=-R">The Kenya Homes Expo</link>'
c.drawString(100, 775, platypus.Paragraph(motto, PS('body')))
выдает эту ошибку:
Traceback (most recent call last):
File "generate_pdf.py", line 35, in <module>
estimate_quote(form_data, rooms_info)
File "generate_pdf.py", line 29, in estimate_quote
c.drawString(100, 775, platypus.Paragraph(motto, PS('body')))
File "/home/sam/code/envs/decomagna/lib/python3.6/site-packages/reportlab/pdfgen/canvas.py", line 1564, in drawString
text = text.decode('utf-8')
AttributeError: 'Paragraph' object has no attribute 'decode'