在一个有趣的Python项目中使用ReportLab一次创建几十个pdf。ReportLab要求您选择绘制字符串的位置
在我生成的PDF文件中,我有多达六项服务将向接收者收费。如果接收客户端没有请求或接收这些服务,即(service==0/null),那么我将附带的布尔值设置为false,并继续测试其余的服务。我需要测试几个布尔值,以便确定绘制服务字符串的位置
在这个过程的最后,我得到一个由6个整数组成的字符串,比如001001(F,F,T,F,F,T)。对于这组布尔函数,我将在位置1和2处绘制字符串3和6,而不是留下空格。我将提供一个小的视觉帮助了解这个问题。 (示例布尔011011)
c.drawstring(locationX1,LocationY1, "Service2")
c.drawstring(locationX1,LocationY1, "Service3")
c.drawstring(locationX1,LocationY1, "Service5")
c.drawstring(locationX1,LocationY1, "Service6")
{produces
Service2
Service3
Service5
Service6}
{rather than
Service2
Service3
Service5
Service6}
目前在我的程序中,为了测试所有这些布尔值,我有一个包含这些布尔字符串(000000-111111)的64种可能组合的字典 i、 e
"010011" : print20,
"010100" : print21,
"010101" : print22,
"010110" : print23,
"010111" : print24,
"011000" : print25,
以及为每个可能的结果编写的函数,例如
#BitRep=111011
def print60():
c.setFont('Deja', 12, leading=None)
c.drawString(100, YdrawLocationSVC1, "Service 1 ")
c.drawString(250, YdrawLocationSVC1, str(service1))
c.drawString(100, YdrawLocationSVC2, "Service 2 ")
c.drawString(250, YdrawLocationSVC2, str(service2))
c.drawString(100, YdrawLocationSVC3, "Service 3 ")
c.drawString(250, YdrawLocationSVC3, str(service3))
c.drawString(100, YdrawLocationSVC4, "Service 5 ")
c.drawString(250, YdrawLocationSVC4, str(service5))
c.drawString(100, YdrawLocationSVC5, "Service 6 ")
c.drawString(250, YdrawLocationSVC5, str(service6))
总而言之,谢谢你抽出时间来阅读这篇文章,任何有想法的人我都很乐意听到。最后我要补充的是我目前最喜欢的解决方案,虽然它不能很好地适应我的问题,但我想进一步探讨这个选项。我觉得答案在于位转换,但我对编程还是相当陌生,不确定如何最好地实现。非常感谢你的意见
(部分@maik-s的答案是我之前的帖子
state = bool6 << 5
state = state ^ (bool5 << 4)
state = state ^ (bool4 << 3)
state = state ^ (bool3 << 2)
state = state ^ (bool2 << 1)
state = state ^ (bool1)
()
我被要求在输出PDF中留下空字符串的地方发布代码。给你
对于直列n:
Service1=n[1]
Service2=n[2]
Service3=n[3]
Service4=n[4]
Service5=n[5]
Service6=n[6]
(X , Y )
c.drawString(72, 120, str(Service1))
c.drawString(72, 105, str(Service2))
c.drawString(72, 90, str(Service3))
c.drawString(72, 75, str(Service4))
c.drawString(72, 60, str(Service5))
c.drawString(72, 45, str(Service6))
此代码的问题是,如果n[5]为=,则它将绘制一个空字符串
目前没有回答
相关问题 更多 >
编程相关推荐