【发布时间】:2019-11-13 13:35:56
【问题描述】:
我正在开发一个项目,该项目具有我们内置的 Angular 的 PDF 编辑器。用户可以在 PDF 上拖放动态字段(用户定义的字段)。当这些字段从用户定义的表单中填写时,相应的 PDF(用户已编辑)会在后端生成。我们正在使用 Python 3.7 和 Reportlab 编辑动态数据并将其写入 PDF。
值动态字段的长度不固定。它可以超过字段变量的长度。在 PDF 编辑器上,用户决定生成的动态文本的最大宽度。我们只想将文本写入指定宽度并截断其余文本。例如,first_name 是放在 PDF 编辑器上的变量。它的最大宽度设置为 10px。如果变量的值为“Wolfeschlegelsteinhausenbergerdorff”,则文本应写到 10 px,之后应被截断。
到目前为止,我们已经成功编写了全文(与指定的宽度无关)。以下是我们正在使用的代码。
........
paragraph_style.textColor = HexColor(pdf_element["font_color"])
paragraph_style.fontSize = pdf_element["font_size"]
paragraph = Paragraph(str(output_text_value), style=paragraph_style)
paragraph.drawOn(can,location_x, location_y)
........
以上代码在 PDF 上写入全文。但是,我们需要一种方法来以某种方式截断指定宽度后的文本。
非常感谢任何帮助。
【问题讨论】:
标签: python-3.x reportlab platypus