![](/img/trans.png)
[英]DOMPDF style and image rendering issue on windows 7, CodeIgniter 3
[英]dompdf image overflow issue
我有一個PDF生成問題,目前我的系統使用dompdf將HTML轉換為PDF,這一切都運行正常。 但是,如果用戶插入的圖像大於A4頁面,則PDF會嚴重損壞並且大圖像下方的所有內容都會聚集在一起或根本不顯示。
這里有兩個PDF來顯示問題的一個例子
這個很好
https://dl.dropbox.com/u/65878041/OK.pdf
這個你可以看到第一張圖像大於A4頁面時所有內容都被搞砸了,當它應該與前一張相同時。
https://dl.dropbox.com/u/65878041/Issue.pdf
我理想的做法是將圖像分成幾部分,並根據需要跨越多個頁面。 就像在這個LaTeX解決方案中完成的一樣。 有沒有可能用dompdf這樣做? 或者用於HTML到PDF的任何其他PHP庫?
我自己調查了一下,顯然如果它比A4頁面大,我可以剪掉一張圖片。 但問題在於需要知道手頭上是否有文字或類似內容的方法,所以它並不那么簡單。
謝謝大家。 任何見解都將非常感激。
如果你發布了html和css,我會更有幫助...記住兩點:
選項1
嘗試將圖像包裝在附加DIV中並顯式設置寬度和溢出規則。
選項#2
以前我是一個大風扇dompdf
,但發現后wkhtmltopdf
永不回頭。 wkhtmltopdf
是一個wkhtmltopdf
的工具,可以正確完成工作。 要嘗試此解決方案,請執行以下操作
/path/to/my/proj/bin/wkhtmltopdf
file_put_contents('/tmp/myfile.html', $html);
shell_exec('/path/to/my/proj/bin/wkhtmltopdf /tmp/myfile.html /tmp/myfile.pdf')
獲取生成的pdf的內容,更改響應標頭並為該文件提供服務:
header('Content-Type: application/pdf');
echo file_get_contents('/tmp/myfile.pdf');
我不知道圖像是如何顯示的,但你可以告訴dompdf在某個元素之后或之前分割頁面。 例如:
<div style='page-break-after:always;'>
<img src="PATH_TO_IMAGE" />
</div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.