gpt4 book ai didi

php - 字体在 HTML 中工作但不呈现 PDF Dompdf v0.8.0

转载 作者:太空宇宙 更新时间:2023-11-04 08:47:17 25 4
gpt4 key购买 nike

我意识到有一大堆有些相关的主题,但我似乎找不到相同的主题和/或包含解决我的问题的解决方案。

我正在向 dompdf 发送一个 HTML 文档,其中包含嵌入式 CSS 以及字体声明和类定义。这些字体位于同一台服务器上,我尝试了相对路径和绝对路径,但似乎无法让它们正常工作。

我在 HTML 文档的头部包含以下内容,然后发送到 dompdf。

<style type="text/css">
@font-face {
font-family: "Roboto";
font-weight: normal;
font-style: normal;
src: url( "http://localhost/resources/fonts/Roboto/Roboto-Regular.ttf") format('truetype');
}
.font_alpha { font-family: "Roboto";}`

/* .... Other css rules here ... */

</style>

当我回显 html 而不是将其发送到 dompdf 时,我可以看到应用了 .font_alpha 类的任何元素的字体都是正确的,在检查器中它还显示它正在使用网络资源,但当我调用以下命令时在 html 上,字体没有得到应用。

//This is where I would display the html directly for testing
//echo $report_html; exit;

$dompdf = new DOMPDF();
$dompdf -> load_html( $report_html );
$dompdf -> set_paper( $this -> paper_size, $this -> paper_orientation );
$dompdf -> render();
$dompdf -> output();

pdf(s) 正确生成,所有 css 格式均来自正确应用的其余规则,除了字体。

老实说,我不确定是否需要以其他方式安装这些字体,例如使用 cmd 行 load_font.php 第三方库。根据我认为我可以理解的版本 0.8.0,我不需要,对吗?

任何建议或意见?

最佳答案

Dompdf 的 CSS 解析逻辑可能有点挑剔。 URL 字符串前面的空格使 Dompdf 出错。如果您将 CSS 修改为读取 src: url("http...") format('truetype'); 它应该会按预期工作。

关于php - 字体在 HTML 中工作但不呈现 PDF Dompdf v0.8.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43696968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com