Dompdf Schriftart einstellen?

2 Antworten

Wir zwei scheinen die gleichen Probleme zu haben :)

Ich musste leider feststellen, dass Dompdf an vielen Stellen Probleme hat. Zumindest im Bezug auf CSS

So habe ich das gelöst:

Für die PDF´s die zu erstellen sind, habe ich eine eigene CSS-Style-Datei erstellt.

Das Problem mit den Schriften habe ich so gelöst:

Binde in deine CSS-Datei die Schrift folgendermaßen ein:

/*import Fonts*/
@import url('https://fonts.googleapis.com/css?family=Roboto:100,300,400,700');


@font-face{
	font-family:roboto;
	src:(font/Roboto-Light.ttf);
}


html, body {
	font-family:'roboto';	
}


Viel Glück

PS: Jede andere Variante die Schriften einzubinden hat bei mir nicht geklappt...


gehm1 
Beitragsersteller
 07.04.2020, 18:27

Ok, danke für deine Hilfe. Aber wie verknüpfe ich die css-Datei mit dompdf?

0

Hast du Arial auch als Font-Datei auf deinen Server kopiert und über fontDir das Verzeichnis angegeben?

Woher ich das weiß:Berufserfahrung – Entwickle seit > 20 Jahren Anwendungen mit PHP.

gehm1 
Beitragsersteller
 07.04.2020, 18:25

Nein, das habe ich nicht gemacht.

0
Babelfish  07.04.2020, 18:28
@gehm1

Dann wird es daran liegen. Woher soll DOMPDF auch die Schriftart Arial nehmen? Das geht nur über zwei Wege, entweder der gewünschte Font ist (wie bei dem Beispiel von RayLaMue) im CSS angegeben und kann heruntergeladen werden oder du gibst eine Standardschrift an, wo der Font dann aber auf dem Server vorhanden sein muss.

1
gehm1 
Beitragsersteller
 07.04.2020, 18:29
@Babelfish

Und wie geht das mit fontDir?

0
Babelfish  07.04.2020, 18:46
@gehm1

Hab ich auch noch nicht gemacht aber vermutlich so auf diese Art:

$dompdf->set_option('fontDir', __DIR__.'/fonts');
$dompdf->set_option('defaultFont', 'arial');

Dort muss dann dein Arial-Font liegen. Alternativ kannst du ja mal Dejavu probieren, die wohl schon mitgeliefert werden.

$dompdf->set_option('defaultFont', 'dejavu sans');

Ansonsten findest du alle Optionen hier:

https://github.com/dompdf/dompdf/blob/master/src/Options.php

1