如何使用 dompdf 生成目录?
我正在使用 php 的 dompdf 库从 HTML 模板生成 PDF 报告。 在该 html 模板中,有一个目录部分。 生成 PDF 时,我需要更新目录的页码。 有谁知道我如何在 php 的 dompdf 库中实现这一点?
提前致谢。
I am using the dompdf library of php to generate PDF report from an HTML template. In that html template there is a section table of contents. When genrating PDF i need to update the page number of table of contents. Does anyone know how I can achieve this in dompdf library of php?
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我已经在 Drupal 中实现了这一点,并且猜测它也适用于其他 php 开源和框架。
我已将此代码保留在
存储页码的模板中的脚本标记内。 模板扩展名为 tpl.php
现在在模块中
在我添加了其他导出代码之后......
$pdf->text 这部分添加了 y 轴位置上恒定增量的页码。 其他全局变量entity_y和entity_val用于存储值。
I have achieved this in Drupal and guess it works on other php opensource and frameworks as well.
I have kept this code inside script tag
in template that stores the page number. Template is with extension tpl.php
Now in the module
after other codes for export I have added......
$pdf->text this part adds the page numbers with constant increment in y axis position. Other global variables entity_y and entity_val are used to store the values.
从 HTML 生成目录(使用 h1、h2、h3),我执行了以下操作:
Generating a Table of Contents from HTML (with h1,h2,h3), I did the following:
您可能已经解决了这个问题? 我没有使用过 dompdf,但我在 Zend_Pdf 中做了类似的事情:我为目录创建了一个空白页面,然后继续创建所有其他后续页面,保留一个 page_number => 的数组。 标题。 最后,我返回并使用之前保存的参考更新了内容页面......
You may have solved this already? I've not used dompdf, but i did a similar thing in Zend_Pdf: I made a blank page for the table of contents and then went on creating all the other later pages, keeping an array of page_number => title. At the end I went back and updated the contents page using the reference saved earlier...
作为 vicky shrestha 答案的扩展,我这里的目录可以扩展超过一页。
36 只是适合设计的任意数量的项目。
isset 很重要,因为由于某种原因 foreach 会额外循环一次,并且最后会抛出一个越界异常。
As an extension to vicky shrestha's answer here is what I have for a table of contents that expands more than a single page.
36 is just an arbitrary number of items that fit in the design.
the isset is important as for some reason the foreach will loop an additional time and you will get an out of bounds exception thrown at the end.
我在 pdf 中创建 TOC 的想法如下:
例子:
My idea to create TOC in pdf is following:
Example: