相关疑难解决方法(0)

由DOMPDF生成的PDF中的Google Webfonts

我在一个页面中使用两个webfonts,我使用dompdf转换为PDF.我在标题中有这个:

<link href='http://fonts.googleapis.com/css?family=Signika:600|Roboto+Condensed' rel='stylesheet' type='text/css'>
Run Code Online (Sandbox Code Playgroud)

然后我在CSS规则中使用它们

body {
  font-family: "Roboto Condensed", sans-serif;
  [ ... ]
}
h1 {
  font-family:'Signika', Arial, Helvetica, sans-serif;
  [ ... ]
}
Run Code Online (Sandbox Code Playgroud)

现在,当我生成PDF时,h1显示为"Signika"字体,但"Roboto Condensed"被Helvetica或其他一些标准的sans-serif字体替换.

如果我打开"预览"文件(即我在PDF生成脚本中包含的php页面),"Roboto Condensed"会按预期显示,但它不会进入PDF.但正如我写的那样,"Signika"就在PDF中,这对我来说有点奇怪.顺便说一句,我也试过直接包括字体-face规则为CSS规则p,div,li等但不会改变任何事情.

有什么建议我可以解决这个问题吗?


编辑/添加:

考虑到这一点,两种字体之间的区别在于Roboto Condensed在其名称中有一个空格.我想知道这是否会导致问题(即dompdf无法处理这样的字体名称)?但只要我从Google服务器获取字体,我就无法改变它.

css dompdf google-webfonts

5
推荐指数
1
解决办法
3997
查看次数

无法加载 mPDF 中的自定义字体

我正在使用 mPDF 7.x 版并尝试遵循此文档:https ://mpdf.github.io/fonts-languages/fonts-in-mpdf-7-x.html

我只是无法让它工作。没有错误,但字体仍然是默认的 mPDF 字体。我还尝试以另一种方式使用以下答案:

如何使用 mPDF 生成 PDF 并向其添加自定义 Google 字体?

php mPDF,无法设置字体系列和字体大小

将字体添加到 mPDF

但我想它们不起作用,因为它们可能只适用于比 7.X 旧的版本......所以这是我尝试使用 7.x 文档的信息的最新尝试。

这是我的 php 文件:

require_once __DIR__ . '/vendor/autoload.php';

$defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults();
$fontDirs = $defaultConfig['fontDir'];

$defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults();
$fontData = $defaultFontConfig['fontdata'];

$mpdf = new \Mpdf\Mpdf(['tempDir' => __DIR__ . '/upload'],
    ['fontdata' => $fontData + [
        'BentonSans' => [
            'R' => 'BentonSans.ttf',
            'I' => 'BentonSans-Bold.ttf',
        ]
    ],
    'default_font' => 'BentonSans'
]);

$url = rawurldecode($_REQUEST['url']);
$html = file_get_contents($url); …
Run Code Online (Sandbox Code Playgroud)

php mpdf

2
推荐指数
1
解决办法
5128
查看次数

在mPDF中设置自定义TTF字体

我通过zip文件(不是作曲家)安装了mPDF 6.0,将一个字体放入ttfonts文件夹,并在config_fonts.php中添加了这样的文件,如下所示:

"eurostyle" => array(   /* Custom */
    'R' => "eurostyle-normal.ttf"
    )
Run Code Online (Sandbox Code Playgroud)

现在我尝试将字体添加到我的mPDF对象中,如下所示:

$mpdf = new mPDF('c', 'A4-L');
$mpdf -> SetFont('eurostyle');
Run Code Online (Sandbox Code Playgroud)

但没有变化.没有错误消息,输出PDF简洁保持不变.

有人知道为什么吗?

php fonts fpdf mpdf

1
推荐指数
1
解决办法
3409
查看次数

标签 统计

mpdf ×2

php ×2

css ×1

dompdf ×1

fonts ×1

fpdf ×1

google-webfonts ×1