擅长:python、mysql、java
<p>坏死答案:您要寻找的是字体映射,它告诉ReportLab当用html标记指定黑体和斜体时,在字体系列中使用什么字体。否则,在使用TrueType字体时,ReportLab不会应用格式。</p>
<pre><code>from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.lib.fonts import addMapping
pdfmetrics.registerFont(TTFont(font, 'Times New Roman.ttf'))
pdfmetrics.registerFont(TTFont(font, 'Times New Roman Italic.ttf'))
pdfmetrics.registerFont(TTFont(font, 'Times New Roman Bold.ttf'))
pdfmetrics.registerFont(TTFont(font, 'Times New Roman Bold Italic.ttf'))
# 2nd positional param is bool flag for italic
# 3rd positional param is bool flag for boldface
addMapping('Times New Roman', 0, 0, 'Times New Roman')
addMapping('Times New Roman', 0, 1, 'Times New Roman Italic')
addMapping('Times New Roman', 1, 0, 'Times New Roman Bold')
addMapping('Times New Roman', 1, 1, 'Times New Roman Bold Italic')
</code></pre>
<p>现在您可以使用<code><strong></code>和<code><em></code>(或者<code><b></code>和<code><i></code>,如果您愿意的话)并且所有内容都将按照您预期的格式进行格式化。</p>