好好花了这么多时间阅读他们的文档和我的测试后,我决定咨询SO社区寻求帮助。
我使用mPDF从HTML生成pdf。图书馆工作正常,pdf制作等。
但我无法根据需要设置font-family和font-size。
我试过的代码:
void reverse_word(char *word, int len){
int i;
int j = strcspn(word," ");
int k = j;
int check = k/2; // for keeping track of the middle char
for (i = 0; i< len ; ++i) {
if(i == check) {
j = strcspn((word+k)+1," "); // get the next space if there is any
i = k+1;
j = j+k+1;
k = j;
check = i + ((j-i)/2);
}
--j;
char c = word[i];
word[i] = word[j];
word[j] = c;
}
}
在我的mpdf媒体样式表中,我有很多样式处理所有的HTML代码。我也有一些font-family和font-size的规则,即:
$mpdf = new mPDF('c', 'A4');
$mpdf->CSSselectMedia='mpdf';
$mpdf->setAutoTopMargin = 'stretch';
$mpdf->setAutoBottomMargin = 'stretch';
$mpdf->setBasePath($url);
$mpdf->SetHeader($url);
$mpdf->WriteHTML($html);
$mpdf->SetFooter($url);
$mpdf->Output($filename.'.pdf', 'I');
但字体设置根本没有说明。
我还在实例化时尝试了以下参数:
body{
border: none;
font-size: 10pt;
colosr:#000;
font-family: Times, Georgia, "Times New Roman", serif !important;
}
但仍然没有。我在pdf中仍然有sans-serif,而且尺寸非常大。
有人可以对此有所了解吗?
答案 0 :(得分:2)
您可以通过两种方式将字体添加到生成的pdf中:
<强> 1。将字体设置为mpdf
将字体保存在mpdf lib中的ttfonts文件夹中。然后,在config_fonts.php文件中添加您的字体数组:
$ this-&gt; fontdata = array( &#34; YourNewFont&#34; =&GT;阵列( &#39; R&#39; =&GT; &#34; YourNewFont.ttf&#34));
然后使用以下命令将字体设置为mpdf对象:
$ mpdf-&GT; setfont程序(&#39; YourNewFont&#39);
现在,你的fornt已经设定好了。使用$ mpdf-&gt; WriteText(&#39;我的文字&#39;);将使用设置字体将文本添加到pdf。
<强> 2。在Html中使用字体
使用 @ font-face {}
在css文件中添加字体系列然后,导入该css文件,如下所示:
$ stylesheet = file_get_contents(&#39; MyStyleWithFont.css&#39;);
$ mpdf-&GT;的WriteHTML($样式表中,1);
现在,您可以将您的字体与html一起使用。在css文件中定义文本的font-family或使用html内联。使用 $ mpdf-&gt; WriteHTML(我的文字); 打印html。
答案 1 :(得分:0)
我知道我来晚了,希望以后对某人有帮助。 创建mPDF对象时,将mod参数设置为'UTF-8'或''而不是'c'。 “ c”将强制系统仅使用核心字体,从而忽略自定义字体。
$mpdf = new mPDF('UTF-8','A4')
注意:这适用于mPDF v6及更低版本