前段时间,我将一个 PHP 脚本翻译成 python,但最近我遇到了一些问题。(这是一个生成选票的脚本)
编码:
完整代码在这里:https ://pastebin.com/ULAF1Nh5
打印投票选项(候选人姓名和政党)的部分在第 403 行附近:
#Now we have the text, we calculate how tall it is
current_option_height = getOptionHeight(current_option_text,left_padding,right_padding)
#Write the option out
pdf.set_left_margin(left_margin+left_padding+(current_column*column_width)+oval_column_width)
pdf.set_xy((left_margin+(current_column*column_width)+left_padding)+oval_column_width,current_column_y+OVAL_HEIGHT*2)
WriteHTML(current_option_text)
print(current_option_text)
getOptionHeight 函数只返回给定文本的高度。WriteHTML 函数只是将 html 文本转换为 python 文本并将其写入 pdf :
def WriteHTML(html):
#HTML parser
html = html.replace('\n',' ')
a = html.replace('<BR>','\n')
a = a.replace('</B>','<B>')
a = a.split('<B>')
for i in a:
if a.index(i)%2 == 0:
#Normal
pdf.set_font('Helvetica','',11.5)
pdf.write(OPTION_LINE_HEIGHT,i)
else:
#Bold
pdf.set_font('Helvetica','B',11.5)
pdf.write(OPTION_LINE_HEIGHT,i)
问题: 起初,脚本有效。输入其中的第一个文本是:
President and Vice-President of the United States
Vote for 1 pair
<B>Joseph R. Biden<BR>and<BR>Kamala D. Harris</B><BR>Democratic
<B>Donald J. Trump<BR>and<BR>Michael R. Pence</B><BR>Republican
<B>Jo Jorgensen<BR>and<BR>Jeremy F. "Spike" Cohen</B><BR>Libertarian
(每个选项单独写)
为什么?我该如何解决?