python – Pisa在比萨(xhtml2pdf)只是重复最后一页
发布时间:2020-12-20 13:31:31 所属栏目:Python 来源:网络整理
导读:我使用 Pisa生成PDF文件,其页面遵循通用格式. 我显然做错了,因为我生成PDF(来自命令行或来自python API)我只看到最后一页重复. 在下面的代码中运行比萨,我得到三个页面,每个页面都说“C星期三”,当我希望看到三个不同页面的“A Monday”,“B Tuesday”,“C W
我使用
Pisa生成PDF文件,其页面遵循通用格式.
我显然做错了,因为我生成PDF(来自命令行或来自python API)我只看到最后一页重复. 在下面的代码中运行比萨,我得到三个页面,每个页面都说“C星期三”,当我希望看到三个不同页面的“A Monday”,“B Tuesday”,“C Wednesday”. 我目前的比萨版本是XHTML2PDF / pisa 3.0.33(Build 2010-06-16) <html> <style> /* 297 x 210 */ @page { size: a4 landscape; margin: 1cm; margin-bottom: 2.5cm; @frame header { -pdf-frame-content: headerContent; background-color:black; color:white; top : 0cm; margin-left: 0cm; margin-right: 14.5cm; height: 2.5cm; width: 14.9cm; } @frame lhs { -pdf-frame-content: lhs; background-color:white; color:black; top : 4.5cm; margin-left: 0cm; margin-right: 14.5cm; height: 13.5cm; width: 14.9cm; } @frame footer { -pdf-frame-content: footerContent; color:black; bottom: 1cm; margin-left: 1cm; margin-right: 24.5cm; height: 1cm; } } body { } #headerContent { text-align: center; background-color: black; color: white; } h1 { font-size: 200%; } #lhs-table { color:black; text-align: center; font-size:600%; } .big { font-size:200%; font-style:italic; } .day { text-align: center; background-color: black; color: white; width: 1.6cm; height: 1.3cm; } #footerContent { font-size: 200%; } </style> <body> <div> <div id="headerContent"> <h1><br/>HEADER<br/></h1> </div> <div id="lhs"> <table id="lhs-table" > <tr> <td><span class="big"><em>A</em></span></td> </tr> </table> </div> <div id="footerContent"> <span class="day" >Monday</span> </div> </div> <pdf:nextpage /> <div> <div id="headerContent"> <h1><br/>HEADER<br/></h1> </div> <div id="lhs"> <table id="lhs-table" > <tr> <td><span class="big"><em>B</em></span></td> </tr> </table> </div> <div id="footerContent"> <span class="day" >Tuesday</span> </div> </div> <pdf:nextpage /> <div> <div id="headerContent"> <h1><br/>HEADER<br/></h1> </div> <div id="lhs"> <table id="lhs-table" > <tr> <td><span class="big"><em>C</em></span></td> </tr> </table> </div> <div id="footerContent"> <span class="day" >Wednesday</span> </div> </div> <pdf:nextpage /> </body> </html> 解决方法
试试Github
https://github.com/chrisglass/xhtml2pdf的版本你的版本太旧而且没有维护.
关于您的问题,是解析器中的已知问题.尝试将标记放在自己的行上,如下所示: <div id="footer"> <pdf:pagenumber /> </div> 第三次阅读后: <body> <div id="header"> </div> <div id="content1> content 1 </div> <pdf:nextpage /> <div id="content2> content 2 </div> <pdf:nextpage /> <div id="content3> content 3 </div> <pdf:nextpage /> <div id="footer"> </div> </body> 从您的代码中,您将重复每个内容的页眉和页脚.但是你已经将它们定义为标题框架(在每个页面上自动重复它们),因此解析器必须坚固.您还要为内容创建另一个静态框架,这不应该是. 因此,只有一个标题,一个页脚,使用< pdf:nextpage />创建许多内容.背后. https://github.com/chrisglass/xhtml2pdf/blob/master/doc/usage.rst 也许我再次错过了你的错,因为我不知道你是如何产生这个HTML的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |