【发布时间】:2019-04-01 20:46:23
【问题描述】:
我的画布初始化如下:
canvas = canvas.Canvas(save_name, pagesize=(4032, 3024), bottomup=1)
#canvas.setFont('Helvetica', 12) #set font size and type (not working)
canvas.setFontSize(10000000) #set pt size (not working)
我的拉绳看起来像:
canvas.drawString(100, y, line)
其中y 是一个变量,line 是一个字符串。
无论我将setFontSize() 参数或setFont() 中的第二个参数设置为什么,PDF 中的字体大小都不会改变。
系统:Debian(拉伸)、Python 3.5.3、Reportlab 3.5.8
编辑:
这是 MCVE
canvas = canvas.Canvas(save_name, pagesize=(4032, 3024), bottomup=1)
canvas.setFont("Times-Roman", 20)
text = "foo bar"
canvas.drawString(100, 3000, text)
canvas.save()
【问题讨论】:
-
看起来应该可以了。你试过用其他字体吗?请提供 MCVE(请参阅 How to create a Minimal, Complete, and Verifiable Example)。另请注意,我在 Reportlab 手册中找不到任何有关
setFontSize()方法的文档。 -
@martineau 我尝试使用'Helvetica',因为它在第一个代码块中,然后使用reportlab 默认值。没有骰子。 Here's where I found the documentation for
setFontSize(). -
我没有看到documentation section 中列出的
reportlab-reference.pdf手册,而setFontSize()与我查看的那些手册不同。这就是为什么我要求您更改您的问题,使其包含一个重现问题的完整 sn-p。 -
@martineau 虽然该方法在
reportlab.pdfgen中找到并通过调用from reportlab import *和from reportlab.pdfgen import canvas进行编译,但我将其更改为canvas.setFont("Times-Roman", 20),这是我直接从第一个PDF 中复制的一行在您的链接中找到。文本仍然是以前的默认字体和大小,没有被更改。抱歉,这是我的第一个 Stack Overflow 问题。
标签: python pdf fonts font-size reportlab