我的应用程序正在使用PyQt4和Python3(我不知道如何将它反向移植到python2.7)。我需要导出PDF并打印到纸上。我对报告工具的搜索无处可寻,因为ReportLab和POD都支持python3。不知何故,我设法用这种麻烦创建PDF文件。
tekstStampa = (str("%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%sIme stranke: %s%sBroj predmeta: %s%sSudski broj: %s%s%sPredmet otvoren: %s%sDatum rasprave: %s u %s sati%s%sStatus stranke: %s%sStatus predmeta: %s%sTip postupka: %s%sVrednost spora: %s dinara.%s%sSud: %s%sSudska jedinica: %s%sSudija: %s%s%sNapomena: %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s" %
(zaglavlje1,'<br>',zaglavlje2,'<br>',zaglavlje3,'<br>',zaglavlje4,'<br>','<br>',
linija,'<br>','<br>','<br>',prazno50,zaglavlje5,brPredmeta,'<br>',prazno51,'<font size="1">datum štampanja: ',datumStampe,'</font><br>','<br>',
tempime, '<br>',brPredmeta,'<br>', tempsudskibr,'<br>','<br>',
tempdatumtuzba, '<br>', tempdatumRas,tempvreme,'<br>','<br>',
tempstatusstr,'<br>',tempstatusPredmeta,'<br>',temptip,'<br>',tempvrednost,'<br>','<br>',
tempsud,'<br>',tempsudska,'<br>',tempsudija,'<br>','<br>',
'<br>',tempnapomena,'<br>','<br>',
linija, '<br>', '<br>',futer1,'<br>',
futer2,'<br>',
futer3,'<br>',
futer4,'<br>',
futer5,'<br>',)))
self.ui.textStampa.setHtml(str(tekstStampa).replace('\\n','\r'))
正如您所看到的,它非常混乱,但输出看起来可以接受。不太好,只能接受。 Example
现在,我需要生成一些like this。色谱柱应放置在固定位置,色谱柱宽度是预先确定的。行从列表生成,从数据库查询。 Quering很好,我可以获取数据,但PAGE FORMATTING正在杀死我。
我曾尝试使用HTML标签(即预格式文本的PRE,但看起来很难看)但我无法完成我想要的。
提前谢谢。
答案 0 :(得分:0)
for tuple in sviaktivni: # extract variables from list of tuples
tempid,ime,brPredmeta,statusStr,sudskiBr ,sudija ,datumRasprave, vreme, zaduzen,datumZaduzenja = tuple
brojac +=1
tekst = ('<html><head><title></title>' #variable which contains HTML tables
'<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>'
'<style></style>'
'</head>'
'<body>'
'<table align ="center" border="0" width="100%" style="table-layout:fixed">'
'<tr height="10%">'
'<td align="left" width="3%">'+str(brojac)+' </td>'
'<td align="left" width="15%">'+ime+' </td>'
'<td align="left" width="10%"> '+brPredmeta+' </td>'
'<td align="left" width="10%"> '+statusStr+' </td>'
'<td align="left" width="10%"> '+sudskiBr+' </td>'
'<td align="left" width="18%"> '+sudija+' </td>'
'<td align="left" width="15%"> '+zaduzen+' </td>'
'<td align="left"> '+datumZaduzenja+' </td>'
'</tr>'
'</table>'
'</body>'
'</html>')
self.ui.textStampa.append(tekst) #append with every iteration