Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

DOMPDF set font for entire page?

Im using DOMPDF over at http://dompdf.github.com/

I am struggling how to set the font for the entire page. In the template I have made I have the font set to Helvetica in the CSS but when it generates the PDF it defaults to Times New Roman. When I try

<script type="text/php">{literal}if ( isset($pdf) ) { 
    $font = Font_Metrics::get_font("helvetica", "bold");
    $pdf->page_text(72, 18, "TEST!", $font, 6, array(0,0,0));}
{/literal}</script>

It prints the TEST! text in the font. However how do I get it to apply to the whole page?

Thanks

like image 688
hactivia Avatar asked Feb 01 '10 13:02

hactivia


People also ask

How do you define font face?

The @font-face CSS at-rule specifies a custom font with which to display text; the font can be loaded from either a remote server or a locally-installed font on the user's own computer.


3 Answers

DOMPDF works with CSS so you need to set the font family like so:

body {  
    font-family: 'Helvetica'  
}

BUT remember that you can only use the font that have been installed. To check which fonts you can use have a look in the fonts directory: /dompdf/lib/fonts/

To install more font follow this guide: http://code.google.com/p/dompdf/wiki/Installation#Font_Installation

like image 89
Owen Avatar answered Sep 25 '22 23:09

Owen


DOMPDF supports CSS, so you can just define the font in your CSS file and load it like you normally would on a page:

body {
    font-family: 'Helvetica'
}
like image 26
Tatu Ulmanen Avatar answered Sep 21 '22 23:09

Tatu Ulmanen


I had the same problem. Somehow DomPDF has trouble with the font-family definition in the CSS. I applied inline style to the top div box to solve the problem.

<div id="container" style="font-family:sans-serif;">
....
</div>

Hope this works for anyone still reading this thread.

like image 39
TuxM Avatar answered Sep 23 '22 23:09

TuxM