1

我想从 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 库,我似乎只是想念如何做到这一点。文档在这里。提前感谢任何愿意提供帮助的人。

4

3 回答 3

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>
...
于 2011-01-25T08:25:43.317 回答
0

在您正在查看的网站上,单击链接只需调用 dompdf.php 脚本,并将相关 HTML 文件的路径作为输入。链接的目标是称为“预览”的 iframe。如果这就是您的想法,它实际上并没有在页面本身内进行任何转换。

于 2011-01-24T14:53:53.727 回答
0

如果您使用的是 jQuery,您可以像这样选择配方 html:

$('.recipe').html();

只需创建一个带有指向您的 dompdf 库页面的 actin 链接的表单

于 2011-01-25T08:01:52.200 回答