相关疑难解决方法(0)

DOMPDF不适用于外部css文件

我正在使用Zend Framework和DOMPDF库.当我用内联css测试它时,一切都很完美.但是当我试图将css代码移动到外部文件时,规则并未应用于html页面.

这是我的代码.

  1. 控制器动作的代码,生成pdf

require_once( "DOMPDF/dompdf_config.inc.php");

    $this->_helper->layout->disableLayout();

    $html = $this->view->render('index/dom.phtml');

    $dompdf = new DOMPDF();
    $dompdf->load_html($html);
    $dompdf->render();

    $pdfContent =   $dompdf->output();

    file_put_contents('sample.pdf', $pdfContent);

    die("test");
Run Code Online (Sandbox Code Playgroud)

2.相应视图的代码(index/dom.phtml)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <link type="text/css" href="/themes/css/pdf.css" rel="stylesheet"   media="screen"/>

</head>
<body>
    <div>Tamara testing</div>
    <table border="1">
        <tr>
            <th>Column 1</th>
            <th>Column 2</th>
        </tr>
        <tr>
            <td>Value 1</td>
            <td>Value 2</td>
        </tr>
    </table>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

3.和我的CSS文件:

div {color: red;}
Run Code Online (Sandbox Code Playgroud)

如何使其工作?

更新:

为了使它工作,我改变了以下的事情:

1.在控制器的操作中添加外部文件的基本路径

$dompdf->set_base_path(APPLICATION_PATH."/../public/themes/css/");
Run Code Online (Sandbox Code Playgroud)

2.在视图中更改链接标记的href属性.使其相对于步骤1中设置的基本路径.

<link type="text/css" href="pdf.css" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)

css zend-framework dompdf

12
推荐指数
2
解决办法
3万
查看次数

CSS不使用DOMPDF

我正在使用DOMPDF(v 0.5.2)将html页面转换为pdf文件.

PHP脚本运行后(如预期的那样)显示pdf文件,但没有样式应用于任何内容.据我所知,浮动属性不适用于DOMPDF,所以我必须做一些工作来解决这个问题,但是甚至没有应用字体样式.

我尝试了包括样式的所有三种方法:附加样式表,

<link href="styles.css" rel="stylesheet" type="text/css">
Run Code Online (Sandbox Code Playgroud)

在标题中写样式,

<style>...</style>
Run Code Online (Sandbox Code Playgroud)

和内联样式.

<div class="..." style="...">
Run Code Online (Sandbox Code Playgroud)

用于创建pdf的php文件看起来像这样......

<?php 
ob_start(); 
?>
<html>
<head>

<link href="flhaha.css" rel="stylesheet" type="text/css">

</head>

<body>
... content (divs, etc) 
</body>
</html>
<?php 
require_once("../../scripts/dompdf/dompdf_config.inc.php"); 
$dompdf = new DOMPDF(); 
$dompdf->load_html(ob_get_clean()); 
$dompdf->render(); 
$dompdf->stream('test.pdf');
?>
Run Code Online (Sandbox Code Playgroud)

内容中的图像可以正常加载并在pdf打开时正确显示,但仍然没有样式.

提前致谢!

编辑#1:上面的标签是"风格",而不是"风格".修正了错字.

css php styles stylesheet dompdf

7
推荐指数
1
解决办法
3万
查看次数

将 CSS 添加到 DomPDF

我有这段代码可以将一些数据导出到 pdf 中。我想从外部 css 文件添加 css (在使用的 html 中没有提到)

/*********************************** Export PDF ****************************************************/
if($request->query->get('exportPDF')!= null){
    // Configure Dompdf according to your needs
    $pdfOptions = new Options();
    $pdfOptions->set('defaultFont', 'Arial');
    // Instantiate Dompdf with our options
    $dompdf = new Dompdf($pdfOptions);
    // Retrieve the HTML generated in our twig file
    $html = $this->renderView('dashboard/user_table.html.twig', [
        'users' => $users
    ]);
    // Load HTML to Dompdf
    $dompdf->loadHtml($html);
    // (Optional) Setup the paper size and orientation 'portrait' or 'portrait'
    $dompdf->setPaper('A3', 'landscape');
    // Render the HTML as PDF …
Run Code Online (Sandbox Code Playgroud)

php dompdf symfony

3
推荐指数
1
解决办法
4万
查看次数

标签 统计

dompdf ×3

css ×2

php ×2

styles ×1

stylesheet ×1

symfony ×1

zend-framework ×1