簡體   English   中英

dompdf圖像溢出問題

[英]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的工具,可以正確完成工作。 要嘗試此解決方案,請執行以下操作

  1. 項目主頁下載靜態二進制文件,它是特定於體系結構的,所以選擇正確的二進制文件...你可以下載兩者; 在運行時檢測架構並加載適當的二進制
  2. 將文件放在項目可訪問的某個目錄中,例如
    /path/to/my/proj/bin/wkhtmltopdf
  3. 運行你的腳本和generat html文件; 將它保存到某個tmp文件中
    file_put_contents('/tmp/myfile.html', $html);
  4. 運行轉換命令
    shell_exec('/path/to/my/proj/bin/wkhtmltopdf /tmp/myfile.html /tmp/myfile.pdf')
  5. 獲取生成的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM