2012-07-25 12 views
22

DOMPDFを使用してPDFを生成しようとしています。 私はHTMLに変換してからPDFに変換します。DOMPDFの印刷マージン

しかし、私には問題があります。オブジェクトをページの上部(アイコンなど)に配置すると、PDFの上部にもオブジェクトが表示されます。 しかし、PDFを印刷するときに余白があります。私は最小のマージンがなければならないことを知っていますが、私の場合はそれが大きすぎます。 DOMPDFでこのマージンを制御する方法はありますか?

私は既存の文書を再現しようとしていますが、オリジナルではロゴはページの上部にありません(既にPDFに余白があります)。しかし、私がそれを印刷すると、それは私が生成したPDFとまったく同じ位置にあります(そして、PDFに余白がありません)。

すでにPDFに印刷マージンが設定されていますか?

+0

を設定する必要がありますが、あなたは、PDFの余裕をもって(機械的にあなたがソフトウェアで制御することができますどのような方法で設定し、変数されていない)混乱プリンタマージンませんか?何かを印刷するときは、常にわずかなマージンが得られます。これは、プリンタが紙の境界の外側にインクをつけないようにするためのフェールセーフです。 – bakkerjoeri

答えて

53

次のスタイルが効果的に0に文書の余白を設定します:

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

@pageはDOMPDF 0.5.1でDOMPDF 0.6.0、bodyで使用されています。ページとボディの余白を個別に変更することはできますが、2つのマージンがコンテンツ境界として機能します。

+0

この「スペース」バグは私の一日を救った! – otinanai

+0

偉大な答え。ところで、上記の「スペース」バグは、解析していない以下の答えを指します。この回答のコードを図のように使用してください。 –

13

時にはあなたも

html { margin: 0px} 
+1

dompdfの '@page'は、基本的にCSSの' html'と同義です。 'html'要素のマージンを指定する必要はありません。あなたの@pageルールがうまくいかない場合は、 '@ page'と(私の答えのように)開き中括弧の間にスペースがあることを確認してください。そのスペースがない場合は、[@pageスタイルが削除された](https://github.com/dompdf/dompdf/issues/614)バージョンのdompdfのバグがあります。 – BrianS

+0

3時間のグーグル・グーグルで、私のためにすべてを修正したのはこれでした。あなたは人の中の神なのです! – samuraiseoul