git clone https://github.com/dompdf/dompdf.git git submodule init git submodule update通过下载DOMPDF,让我们写一个简短的示例,该示例将生成一个简单的PDF。
<span><span><?php </span></span><span><span>set_include_path(get_include_path() . PATH_SEPARATOR . "/path/to/dompdf"); </span></span><span> </span><span><span>require_once "dompdf_config.inc.php"; </span></span><span> </span><span><span>$dompdf = new DOMPDF(); </span></span><span> </span><span><span>$html = <span><span><<<'ENDHTML'</span> </span></span></span><span><span><html> </span></span><span><span> <body> </span></span><span><span> <h1>Hello Dompdf</h1> </span></span><span><span> </body> </span></span><span><span></html> </span></span><span><span><span>ENDHTML<span>;</span></span> </span></span><span> </span><span><span>$dompdf->load_html($html); </span></span><span><span>$dompdf->render(); </span></span><span> </span><span><span>$dompdf->stream("hello.pdf");</span></span>要在项目中使用库,我们首先在包含大部分DOMPDF配置的Dompdf_config.inc.php中拉动。它还加载一个自动加载器和自定义配置文件,在其中我们可以覆盖默认配置参数。 HTML标记作为字符串作为load_html()方法的字符串。另外,我们可以使用load_html_file()方法从文件或URL加载标记。它接受文件网页的文件名或URL作为参数。 Render()方法将HTML渲染到PDF中,我们准备转储PDF文件。 Stream()将结果PDF作为浏览器的附件发送。 Stream()方法具有可选的第二个参数,一个选项数组:
git clone https://github.com/dompdf/dompdf.git git submodule init git submodule update我们不像上一个示例中调用stream(),而是使用output()将pdf返回为字符串。它也接受了可选的选项数组,但是唯一可用的选项是压缩(默认值为true)。 DOMPDF还允许我们通过将PHP脚本嵌入其呈现的HTML中,将标题或页脚添加到生成的PDF中。但是,由于处理任意代码如果您不小心,则可能会构成安全风险,因此默认情况下,控制此功能的配置值将关闭。我们需要首先设置dompdf_enable_php选项true。 启用了Inline PHP执行后,将在脚本中提供PDF对象,我们可以使用该对象来操纵页面。我们可以在页面内的任何地方添加文本,行,图像,矩形等。
<span><span><?php </span></span><span><span>set_include_path(get_include_path() . PATH_SEPARATOR . "/path/to/dompdf"); </span></span><span> </span><span><span>require_once "dompdf_config.inc.php"; </span></span><span> </span><span><span>$dompdf = new DOMPDF(); </span></span><span> </span><span><span>$html = <span><span><<<'ENDHTML'</span> </span></span></span><span><span><html> </span></span><span><span> <body> </span></span><span><span> <h1>Hello Dompdf</h1> </span></span><span><span> </body> </span></span><span><span></html> </span></span><span><span><span>ENDHTML<span>;</span></span> </span></span><span> </span><span><span>$dompdf->load_html($html); </span></span><span><span>$dompdf->render(); </span></span><span> </span><span><span>$dompdf->stream("hello.pdf");</span></span>该脚本直接嵌入到HTML标记中,并首先打开一个对象,以便我们可以影响渲染。所有图形将记录到该对象中,我们可以将此对象添加到所有或选定的页面(尽管有限制)。 接下来,我们获取页面的实际宽度和高度,以计算要添加的页脚的坐标。另外,在添加文本内容时,我们需要提供字体对象。 font_metrics :: get_font()允许我们创建所需的对象。我们还使用get_font_height()将给定字体的高度以其字体尺寸为单位,以计算页脚内容的定位。方法get_font_width()返回给定字体和字体大小的文本宽度,该字体大小也用于我们的计算中。 线()方法从点(x1,y1)到(x2,x2)绘制一条线。请注意,我们提供的颜色值不是实际的RGB值。基础PDF类需要0到1之间的值,因此我们将RGB值转换为这些新值。为了获得更好的近似,您可以将其除以255。 我们使用page_text()方法添加每个页面的页码,该方法接受x和y位置,要添加的文本,字体对象,字体大小和颜色。 DOMPDF自动替换{page_num}的值 和{page_count}在每个页面中,并使我们可以使用$ PDF。 当PDF渲染时,页脚部分将看起来像这样:
git clone https://github.com/dompdf/dompdf.git git submodule init git submodule update请注意,我们在调用$ DOMPDF-> RENDER()之后放置代码,因为我们基本上正在修改渲染的PDF。
>我可以将CSS与DOMPDF?
>如何将图像添加到我的pdf?
如何设置页面大小和方向?
是的,DOMPDF可以与Laravel一起使用。有一个称为“ Laravel-dompdf”的Laravel软件包,它提供了一种在Laravel应用程序中使用DOMPDF的简便方法。
>>我可以发送生成的pdf作为Web应用程序中的响应?是的,您可以将生成的PDF作为Web应用程序中的响应发送。您可以使用“流”方法将PDF直接发送到浏览器。
以上是PHP主|使用DOMPDF将HTML转换为PDF的详细内容。更多信息请关注PHP中文网其他相关文章!