【问题标题】:All of a sudden external links not working in barryvdh/laravel-dompdf突然外部链接在 barryvdh/laravel-dompdf 中不起作用
【发布时间】:2021-05-14 14:26:09
【问题描述】:

我使用 barryvdh/laravel-dompdf 很长时间了。 使用外部 CSS(来自本地)和字体(来自 CDN),它工作正常,突然设计崩溃了,字体也不起作用,所以我检查了视图并知道视图没有加载 CSS 和字体. 我正在使用 Laravel 5.5,barryvdh/laravel-dompdf 版本是 0.8.6。 在 Laravel 8 中尝试使用 barryvdh/laravel-dompdf 版本 0.9.0 也无法正常工作。

代码:

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Receipt | {{ Auth::user()->name }} - {{ $setting->name }}</title>
    <link href="{{ asset('css/bootstrap.css') }}" rel="stylesheet" type="text/css" media="all" />
    <link href="{{ asset('css/main.css') }}" rel="stylesheet" type="text/css" media="all" />
    <link href="http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700" rel="stylesheet" type="text/css" media="all" />

    <style type="text/css">
        /* Another font (Chinese) loaded from local folder for particular tags */
    @font-face {
            font-family: SimHei;
            src: url('{{asset('fonts/simhei.ttf')}}') format('truetype');
        }
        body{
           font-family: Open Sans, Sans-serif; line-height: 1;
        }
        p {
            font-size: 18px;
            margin-bottom: 0 !important;
        }
    </style>
</head>

对于CSS,我已经尝试更新了

<link href="{{ asset('css/main.css') }}" rel="stylesheet" type="text/css" media="all" /> 

在本地:

<link href="{{ public_path('css/main.css') }}" rel="stylesheet" type="text/css" media="all" /> 
<link href="{{ base_path().'/css/maincss' }}"  rel="stylesheet" type="text/css" media="all" /> 
<link href="http://127.0.0.1:8000/css/main.css' }}"  rel="stylesheet" type="text/css" media="all" />

在服务器上:

<link href="var/www/html/project/public/css/main.css"  rel="stylesheet" type="text/css" media="all" /> 

对于字体,我已经尝试将其作为 .ttf 文件放在本地文件夹中,但导入样式仍然不起作用。

【问题讨论】:

    标签: laravel-5


    【解决方案1】:

    我已经设法解决了这个问题。
    在这里张贴以防它可以帮助某人。
    将 barryvdh/laravel-dompdf 替换为 barryvdh/laravel-snappy

    包链接: https://github.com/barryvdh/laravel-snappy

    我的外部样式、图像和字体未加载。
    对于样式,我创建了一个刀片文件,使用 css 代码对其进行了更新,并将其包含在 pdf 模板刀片中。
    对于图像我创建了一个绝对路径

    <img src="{{ public_path('images/img1.jpg')}}" alt="No Image" />
    

    对于字体我已经在服务器上安装了字体, 我正在使用 ubuntu 16.04,我已经安装了 open sansSimHei(中文字体)并更新了 font-family 以打开 sans & simhei in我的申请。

    【讨论】:

    • 使用绝对路径和 barryvdh/laravel-dompdf 解决我的问题
    猜你喜欢
    • 1970-01-01
    • 2021-02-04
    • 1970-01-01
    • 1970-01-01
    • 2014-12-24
    • 2019-11-12
    • 2023-04-09
    • 1970-01-01
    • 2021-03-24
    相关资源
    最近更新 更多