我正在将数据写入带有命名字段的PDF,然后更改这些字段的属性,使其为只读。这是伟大的,但我想能够操纵文本以及改变字体大小,甚至字体本身
根据PDF文档,/DA
应该控制文本,所以我尝试设置
NameObject('/DA'): TextStringObject("font: bold italic Courier 80pt;")
但是,这根本不会操纵文本
下面是用于添加数据的代码&;然后操纵这些字段,这与字体的设置不同,效果很好
我还尝试使用/DS
标志来设置字体&;这也没有影响
pdf_reader = PdfFileReader(
open(full_certificate_path, "rb"), strict=False
)
pdf_writer = PdfFileWriter()
data_dict = {
'field1': event.title,
'field2': user.name,
'field3': strfdelta(
completion_time,
"{hours}:{minutes}:{seconds}"
),
}
pdf_writer.addPage(
pdf_reader.getPage(0)
)
try:
# Add data to a page
page = pdf_writer.getPage(0)
pdf_writer.updatePageFormFieldValues(page, data_dict)
for j in range(0, len(page['/Annots'])):
writer_annot = page['/Annots'][j].getObject()
writer_annot.update({
# Q: Text justification
# 0: left
# 1: centre
# 2: right
NameObject("/Q"): NumberObject(1),
# Default: '/DA' /Helv 12 Tf 0 g
NameObject('/DA'): TextStringObject(
"font: bold italic Courier 80pt;"
),
# Ff: Set field flags
# 1: ReadOnly
NameObject("/Ff"): NumberObject(1),
})
except KeyError:
print("No annotations/fields in the doc")
output_stream = StringIO()
pdf_writer.write(output_stream)
目前没有回答
相关问题 更多 >
编程相关推荐