2012-07-25 232 views
22

我正嘗試使用DOMPDF生成PDF。 我有一些HTML然後轉換成PDF。DOMPDF中的打印邊距

但我有一個問題。當我在頁面頂部放置一個對象時(例如圖標),在PDF中它也會顯示在頁面的頂部。 但是,當我打印PDF時有一個餘量。我知道必須有一個小小的保證金,但在我的情況下,它太大了。 有沒有辦法在DOMPDF中控制這個邊距?

我試圖重現一個現有的文檔,並在原來的標誌是不是在頁面的頂部(PDF已經有一個邊緣)。但是,當我打印它時,它位於和我生成的PDF完全相同的位置(並且PDF中沒有頁邊距)。

在PDF中有沒有設置打印邊距的地方?

+0

你不是混亂打印機保證金(其機械設定,以任何方式,你可以通過軟件控制不變量)與PDF保證金?打印內容時,您總是會獲得一些微小的餘量。這可能會導致打印機無法在紙張邊界之外着墨。 – bakkerjoeri 2013-01-11 14:46:10

回答

53

以下樣式將有效地設置您的文檔的頁邊距爲0:

@page { margin: 0px; } 
body { margin: 0px; } 

@page由DOMPDF 0.5.1使用DOMPDF 0.6.0,body。您可以獨立修改頁面和主體的邊距,但現在這兩者的邊距一起用作內容邊界。

+0

這個「空間」錯誤拯救了我的一天! – otinanai 2014-02-27 11:00:08

+0

很好的答案。順便說一句,上面的「空間」錯誤是指下面的答案不解析。如圖所示使用此答案中的代碼。 – 2014-08-14 12:54:17

13

有時你還需要設置

html { margin: 0px} 
+1

dompdf'@ page'基本上與CSS中的'html'同義。您不需要爲'html'元素指定邊距。如果你的@page規則不起作用,請檢查以確保'@ page'和左大括號之間有空格(如我的回答)。如果該空間丟失,某些版本的dompdf中存在[[刪除頁面樣式]]的錯誤(https://github.com/dompdf/dompdf/issues/614)。 – BrianS 2013-04-05 06:00:39

+0

3個小時的谷歌搜索,這是爲我修好了一切。你是男人之神! – samuraiseoul 2017-03-24 16:23:35