0

我的应用程序正在使用 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'))

如您所见,它非常混乱,但输出看起来可以接受。不太好,只能接受。例子

现在,我需要生成这样的东西。列应放置在固定位置,列宽是预先确定的。行是从列表中生成的,列表是从数据库中查询的。查询很好,我可以获取数据,但是页面格式正在杀死我。

我曾尝试使用 HTML 标签(即预格式化文本的 PRE,但它看起来很难看)但我无法完成我想要的。

先感谢您。

4

1 回答 1

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 
于 2012-08-04T16:13:38.360 回答