2013-04-26 100 views
2

我試圖用DomPDF從某些HTML中生成PDF。我需要的頁面爲20mm x 20毫米,所以我用了以下內容:DomPDF - 更改點/像素比例

CPDF_Adapter::$PAPER_SIZES['my_square_page'] = array(0, 0, 566.929134, 566.929134); 
$dompdf->set_paper('my_square_page','portrait'); 

它可以正常工作,如果我檢查PDF性大小是確定的。將出現在PDF中的HTML具有490x490px的容器div。這個尺寸不能改變,因爲div內的元素是絕對定位的。

問題在於,在生成的PDF中,div不包括整個頁面。我試過設置DPI,使用不同的值

def("DOMPDF_DPI", 150); 

但是它似乎沒有任何區別。我得到的輸出是這樣的(灰色的邊框是由PDF閱讀器):

enter image description here

我已經嘗試設置widthbodyheighthtml在內容的CSS,但它不工作。您可以查看source code of my sample case here

回答

2

好吧,我想通了。看起來像線

def("DOMPDF_DPI", 150); 

實際上並沒有做任何事情。我確實更改了dompdf_config.custom.inc文件,然後運行。添加了這個:

define("DOMPDF_DPI", 62.230); 

但現在的圖像看起來太大:S

enter image description here

+0

看來,控制的'背景image'的大小爲這些circumnstances下相當困難。但是,使用''似乎工作正常,所以我們走了。 – 2013-04-26 16:37:32

+0

現在調整背景大小的唯一方法是修改DPI(如您所見)。在某個時候,我們將實現背景大小的CSS屬性,它可以提供更好的控制。但是,在此之前,最好調整圖像大小以適合您的文檔。 – BrianS 2013-04-27 00:54:04

+0

另外,僅供參考,PDF文件在(實質上)72 DPI下呈現。因此,爲了在HTML和PDF之間獲得更多的一對一對應關係,您應該將DOMPDF_DPI設置爲72.並且,正如我所說的,調整背景以適應空間。 – BrianS 2013-04-27 00:56:16