将图像添加到dompdf

时间:2013-08-25 15:13:45

标签: php pdf dompdf

  <script type="text/php"> 
if(isset($pdf)){ 
        $w = $pdf->get_width(); 
        $h = $pdf->get_height(); 

        $footer = $pdf->open_object(); 

          global $id


        $pdf->image('s/'.$id.'-here.jpg', "jpg", 0, $h - 279, 611, 279); 


        $pdf->close_object(); 

        $pdf->add_object($footer, "all"); 
} 
</script> 

我正在尝试在页面末尾添加一个类似图片的页脚,这是我实际设法将图片放在底部的唯一代码,但是现在我遇到了两个问题:

  1. 如果PHP html的表格文本(内容)变长,它被图像隐藏(在这种情况下)我想打破页面,然后在新页面的底部添加图像。
  2. 如果只有我在桌子上做的动态输出有多个,我怎么能只在最后一页上添加它。
  3. 无论如何,我只用这段代码就可以克服上面的问题了吗?我一直在尝试使用像https://code.google.com/p/cleanstickyfooter/这样的标题/底部CSS,但上面的方法正在工作,期待刚刚描述的sligh问题。 HTML是简单的表格,宽度为100%......

    快速更新(不过)

    我想我可以通过添加一个带有图像设置高度的空div来解决第一个问题,现在我只想将它添加到最后一页......怎么样?

1 个答案:

答案 0 :(得分:0)

从dompdf当前正在布局的页面开始呈现内联脚本。如果您希望图像仅应用于文档的末尾,则只需将脚本重定位到HTML内容的末尾即可。

此外,如果您只需要将图像应用于最后一页,则不需要使用分离的对象($pdf->open_object() / $pdf->close_object() / $pdf->add_object())。分离对象的目的是提供一种重用内容的方法。因此,您的内联脚本可以像以下一样简单:

<script type="text/php"> 
if(isset($pdf)){ 
  $w = $pdf->get_width(); 
  $h = $pdf->get_height(); 
  global $id
  $pdf->image('s/'.$id.'-here.jpg', "jpg", 0, $h - 279, 611, 279); 
} 
</script> 

最后,如果您使用的是dompdf 0.6.0(目前处于测试阶段),则可以跳过内联脚本并只放置图像。定位内容也从dompdf当前正在布局的页面开始呈现。因此,您还可以获得所需的图像布局,将以下内容添加到HTML内容的底部:

<div style="position: absolute; bottom: 10px;">
  <img src="s/$id-here.jpg">
<div>

当然,您必须为图像生成所需的HTML。我假设你已经这样做了,因为你正在访问内联脚本中的$id全局变量。