我想从Wordpress帖子中的内容动态创建PDF(稍微简化如下),其中div
称为“食谱”是我要发送给DOMPDF的内容(不整个帖子):
<div class="post"> <div> <!-- some stuff I don't want in the PDF --> </div> <div class="recipe"> <?php more_fields('recipe-name'); ?> <?php more_fields('recipe-method'); ?> <a href="<?php /*something here that calls DOMPDF, delivers the contents of #recipe, and causes render and stream of PDF to browser.*/ ?>" class="print-recipe">Get a PDF of this recipe.</a> </div> </div>
之前从未使用过PHP库,我似乎不知道如何做到这一点。 Documentation here。提前感谢任何愿意帮忙的人。
答案 0 :(得分:3)
您需要编写一个单独的脚本,在给定相应的配方ID时生成PDF,然后从当前的HTML页面链接到该脚本。看起来你正在努力,因为你试图在一个页面上完成这一切。
我对Wordpress并不是特别熟悉,所以我建议使用缓冲区输出HTML:(未经测试)
<强> recipe_pdf.php 强>
<?
/* wordpress initializers go here */
require_once("dompdf_config.inc.php"); // or whatever your path is
$id = $_GET['id']; //requested recipe ID
/* fetch recipe data here */
ob_start(); // begin buffering PDF content
?>
**output recipe HTML to be used for PDF generation here**
<?
$html = ob_get_clean(); // grab buffered content and stop buffering
//create and output the PDF as a stream (download dialog)
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$filename = "your-recipe-filename.pdf";
$dompdf->stream($filename);
?>
配方HTML文件
...
<div class="recipe">
<?php more_fields('recipe-name'); ?>
<?php more_fields('recipe-method'); ?>
<a href="recipe_pdf.php?id=<? // output recipe ID ?>">
Get a PDF of this recipe.
</a>
</div>
...
答案 1 :(得分:0)
在您正在查看的网站上,单击链接只需调用dompdf.php脚本,并将相关HTML文件的路径作为输入。链接的目标是iframe,称为“预览”。它实际上并没有在页面本身内进行任何转换,如果这就是你的想法。
答案 2 :(得分:0)
如果您使用的是jQuery,可以选择这样的配方html:
$('.recipe').html();
只需创建一个带有肌动蛋白链接到您的dompdf库页面的表单