Php dompdf-缩放pdf以适应页面

Php dompdf-缩放pdf以适应页面,php,html,pdf,dompdf,Php,Html,Pdf,Dompdf,因此,我使用dompdf创建html的PDF。这真的很好,唯一的问题是当html太大,dompdf在两个页面上创建它时。是否有一种方法可以在dompdf或html中将其缩放到一个页面 非常感谢您的帮助! 谢谢大家! 这是我创建PDF的配置和代码 define("DOMPDF_ENABLE_HTML5PARSER", true); define("DOMPDF_ENABLE_FONTSUBSETTING", true); define("DOMPDF_UNICODE_ENABLED", true)

因此,我使用dompdf创建html的PDF。这真的很好,唯一的问题是当html太大,dompdf在两个页面上创建它时。是否有一种方法可以在dompdf或html中将其缩放到一个页面

非常感谢您的帮助! 谢谢大家!

这是我创建PDF的配置和代码

define("DOMPDF_ENABLE_HTML5PARSER", true);
define("DOMPDF_ENABLE_FONTSUBSETTING", true);
define("DOMPDF_UNICODE_ENABLED", true);
define("DOMPDF_DPI", 120);
define("DOMPDF_ENABLE_REMOTE", true);

require_once 'dompdf/dompdf_config.inc.php';

$dompdf = new \DOMPDF();
$dompdf->load_html($html);
$dompdf->set_paper("a4", "portrait");
$dompdf->render();
$dompdf->stream("page.pdf", array("Attachment" => 0));  

很抱歉,DOMPDF中没有进行此操作的设置。

为了满足您的需要,您必须使用CSS文件来自定义图像大小或文本字体大小

dompf在CSS和表格方面存在一些问题。最佳实践是避免单元格或行跨度,并且不使用外部css文件。此外,仅支持一组有限的css规则。查看完整的文档

要解决此问题,是否尝试将
img
的内联样式设置为
style=“最大宽度:100%;最大高度:100%;”

下面是在一个页面内缩放大图像(
4256px×2832px
)的完整示例:

<?php 
$html = <<< LOL
<html>
<head>
</head
<body>
<div width="100%"><img style="max-width:100%; max-height:100%;" src="http://www.norrbottenbigband.com/upload/images/norrbotten-big-band_hq.jpg"> </div>

</body>
</html>
LOL;

define("DOMPDF_ENABLE_HTML5PARSER", true);
define("DOMPDF_ENABLE_FONTSUBSETTING", true);
define("DOMPDF_UNICODE_ENABLED", true);
define("DOMPDF_DPI", 120);
define("DOMPDF_ENABLE_REMOTE", true);
//define("DOMPDF_ENABLE_JAVASCRIPT", true);
//define("DOMPDF_ENABLE_CSS_FLOAT", true);

require_once 'dompdf_config.inc.php';

$dompdf = new \DOMPDF();
$dompdf->load_html($html);
$dompdf->set_paper("a4", "portrait");
$dompdf->render();
$dompdf->stream("page.pdf", array("Attachment" => 0)); 

html太大了?你是否有一个屏幕截图来告诉我们在当前条件下运行什么。html由一个大的jpg开头和jpg下面的可变文本组成。文本有时可能很长,因此如果dompdf可以将所有内容扩展成一个漂亮的pdf,那就太好了。您几乎可以使用dpi设置来完成此操作。所以现在我有一个pdf预览和一个选择框,在这里你可以选择dpi,直到它适合一个页面。如果dom pdf可以通过设置自动完成这项工作,那就太好了。如果您可以使用设置大小的倍数,那么我之前在这里概述了一种方法:。使用您的方法,您可以通过使用不同dpi设置循环渲染过程,直到获得单个页面。听起来很有趣,您有一个示例吗我将如何完成这样的事情?