php - DOMPDF 更改 html 元素位置

标签 php html css laravel dompdf

我正在使用 laravael,我有一个集成了 CSS 的 HTML View 。我想转换成PDF。如果我打开 View (如果我通过我的文档或通过我的应用程序中的链接打开它则不会影响)它工作正常,一切看起来都很好。但是,如果我获取该文件并使用 dompdf 生成 PDF,当我打开它时,背景的 css 和图像就在它们的位置,但文本改变了位置并具有另一个大小。

下面是我如何将它转换成PDF

    $file = file_get_contents("../resources/views/panel/historial/pdfs/otros.html");

    $dompdf = new DOMPDF();
    $dompdf->loadHtml($file);
    //$dompdf->load_html_file($html);
    $dompdf->render();
    $dompdf->stream("otros.pdf", array("Attachment" => 0));

    return $dompdf;

enter image description here

最佳答案

我认为除了 DOMPDF-Renderer 没有完整的 CSS 功能外,这种方式行不通。

https://github.com/dompdf/dompdf/wiki/CSSCompatibility

这是支持的元素列表。因此,在您的情况下,我建议您呈现一个新模板,并为您的 PDF 使用不同的样式。

另一个好的解决方案是 wkhtmltopdf,它有更好的支持,但它是一个命令行工具,您必须通过 php 调用它,或者如果您不需要 PHP,则直接从命令行运行它。

https://wkhtmltopdf.org/

关于php - DOMPDF 更改 html 元素位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53217993/

相关文章:

php - 为 AJAX Post 抓取正确的变量 - 从 HTML/PHP 页面

php - 如何替换字符串中的某些字符?

html - 定位 DIVS 推到最左边

javascript - 将单独的按钮映射到单独的 CSS 文件以更改我页面的背景图像

asp.net - CSS破坏显示顺序

php - 如何删除 SQL 结果中最旧的条目?

php - 比较来自 2 个 While 循环的值 (PHP MYSQL)

php - 长图像名称破坏 CSS div

html - 带有侧边栏和内容的主容器

html - 有没有办法让具有绝对位置的元素占据屏幕宽度?