Laravel DomPdf添加自定义字体

qxgroojn  于 2022-12-14  发布在  其他
关注(0)|答案(5)|浏览(318)

我试图使用旧的英语字体在Dompdf与Laravel。,我已经插入了字体在Laravel视图。但它似乎在生成PDF时它是不工作的。我试图编辑dompdf >vendor >.../dompdf_font_family_cache.dist.php文件。但没有运气,
有人能提出解决方案吗?
提前感谢。

cu6pst1q

cu6pst1q1#

1.在Laravel项目的存储文件夹中创建一个字体目录。(storage/fonts)
1.将.otf或.ttf文件放在storage/fonts目录中。
1.在您的视图/html中,使用Laravel提供的storage_path方法添加@font-face规则。

@font-face {
    font-family: 'Your custom font name';
    src: url({{ storage_path('fonts\your-custom-font.ttf') }}) format("truetype");
    font-weight: 400; // use the matching font-weight here ( 100, 200, 300, 400, etc).
    font-style: normal; // use the matching font-style here
}

1.将字体系列规则添加到css中,如下所示

body {
    font-family: "Your custom font name";
}

希望这对你有帮助。

csga3l58

csga3l582#

我也尝试包含自定义字体。我在视图中包含了字体(使用@font-face声明),但是当我尝试生成PDF时,它在AdobeFontMetrics.php中给了我一个ErrorException。我通过在laravel项目的存储文件夹中创建一个字体文件夹来解决这个问题。所以现在我有:

> storage
    > app
    > fonts
    > framework
    > logs

我希望这会有所帮助

lf5gs5x2

lf5gs5x23#

Set font into html page which is load in Dompdf
    <html>
    <head>
      <style>
      @font-face {
        font-family: 'Helvetica';
        font-weight: normal;
        font-style: normal;
        font-variant: normal;
        src: url("font url");
      }
      body {
        font-family: Helvetica, sans-serif;
      }
      </style>
    </head>
    <body>
      <p>hello world</p>
    </body>
    </html>
ercv8c1e

ercv8c1e4#

@font-face {
font-family: 'Journal';
src: url('yourwebsite.com/journal.ttf")}}') format('truetype');
}
.typed {
font-family: 'Journal';
}
<p class='typed'>Signature</p>

请确保将您的字体名称设置为字体:日记本;它会起作用的。
另外在您的存储文件夹下添加字体文件夹。

yhuiod9q

yhuiod9q5#

将字体放在storage/fonts文件夹中。
在我的示例中使用了OpenSans,您可以在此处下载https://files.fm/f/sr3wah265。解压缩并将其放入storage/fonts/
也可以从GoogleFonts下载开放sans。
然后将以下样式标记添加到html中。

<style>
          
            @font-face {
                font-family: 'Open Sans';
                src: url({{ storage_path("fonts/static/OpenSans/OpenSans-Bold.ttf") }}) format("truetype");
                font-weight: 700;
                font-style: normal;
            }
    
            @font-face {
                font-family: 'Open Sans';
                src: url({{ storage_path("fonts/static/OpenSans/OpenSans-BoldItalic.ttf") }}) format("truetype");
                font-weight: 700;
                font-style: italic;
            }
    
            @font-face {
                font-family: 'Open Sans';
                src: url({{ storage_path("fonts/static/OpenSans/OpenSans-ExtraBold.ttf") }}) format("truetype");
                font-weight: 800;
                font-style: normal;
            }
    
            @font-face {
                font-family: 'Open Sans';
                src: url({{ storage_path("fonts/static/OpenSans/OpenSans-ExtraBoldItalic.ttf") }}) format("truetype");
                font-weight: 800;
                font-style: italic;
            }
    
            @font-face {
                font-family: 'Open Sans';
                src: url({{ storage_path("fonts/static/OpenSans/OpenSans-Light.ttf") }}) format("truetype");
                font-weight: 300;
                font-style: normal;
            }
    
            @font-face {
                font-family: 'Open Sans';
                src: url({{ storage_path("fonts/static/OpenSans/OpenSans-LightItalic.ttf") }}) format("truetype");
                font-weight: 300;
                font-style: italic;
            }
    
            @font-face {
                font-family: 'Open Sans';
                src: url({{ storage_path("fonts/static/OpenSans/OpenSans-Medium.ttf") }}) format("truetype");
                font-weight: 500;
                font-style: normal;
            }
    
            @font-face {
                font-family: 'Open Sans';
                src: url({{ storage_path("fonts/static/OpenSans/OpenSans-MediumItalic.ttf") }}) format("truetype");
                font-weight: 500;
                font-style: italic;
            }
    
            @font-face {
                font-family: 'Open Sans';
                src: url({{ storage_path("fonts/static/OpenSans/OpenSans-Regular.ttf") }}) format("truetype");
                font-weight: 400;
                font-style: normal;
            }
    
            @font-face {
                font-family: 'Open Sans';
                src: url({{ storage_path("fonts/static/OpenSans/OpenSans-SemiBold.ttf") }}) format("truetype");
                font-weight: 600;
                font-style: normal;
            }
    
            @font-face {
                font-family: 'Open Sans';
                src: url({{ storage_path("fonts/static/OpenSans/OpenSans-SemiBoldItalic.ttf") }}) format("truetype");
                font-weight: 600;
                font-style: italic;
            }
    
            @font-face {
                font-family: 'Open Sans';
                src: url({{ storage_path("fonts/static/OpenSans/OpenSans-Italic.ttf") }}) format("truetype");
                font-weight: 400;
                font-style: italic;
            }
    
            body {
                font-family: 'Open Sans', sans-serif;
            }
</style>

相关问题