Dompdf 创建新的输出 pdf 文档,我需要在一个文件中输出内容,如何解决?
Dompdf creates new output pdf-document, I need to output content in one file, how to fix it?
我是这个图书馆的新手。我在没有作曲家的情况下安装了它,按照说明进行操作。
是的,它是 wordpress,但我需要完全手动完成我的任务,而不是使用插件,我想学习那个库,这似乎是一件好事。
我就是这样安装dompdf的。
require get_template_directory() . '/pdf-test.php';
require_once get_template_directory() . '/assets/dompdf/autoload.inc.php';
use Dompdf\Dompdf;
$dompdf = new Dompdf();
ob_start();
require(get_template_directory().'/pdf-test.php');
$content_pdf = ob_get_clean();
$dompdf->loadHtml( $content_pdf);
// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'landscape');
// Render the HTML as PDF
$dompdf->render();
// Output the generated PDF to Browser
$output= $dompdf->output();
$dompdf->stream();
Pdf-test.php 必须是输出文件。现在很简单,没什么特别的
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
?>
<div class="test" style="font-family: Dejavu Sans, sans-serif;">
hello
</div>
<?php
我打算做什么?将 pdf-test.pdf 附加到用户电子邮件。会有动态内容,特别的,所以插件帮不了我。
add_filter( 'woocommerce_email_attachments', 'attach_terms_conditions_pdf_to_email', 10, 3);
function attach_terms_conditions_pdf_to_email ( $attachments , $id, $object ) {
$your_pdf_path = get_template_directory() . '/pdf-test.pdf';
$attachments[] = $your_pdf_path;
return $attachments;
}
在电子邮件中,用户必须在浏览器中打开附加的 pdf 文件。使用来自互联网的随机 pdf 效果很好,所以这个想法还没有死,现在我想创建自己的。
当我加载或重新加载页面时,新的 pdf 文件正在创建和下载为 document.pdf,如果我保存它,我会在浏览器中成功打开它,我会看到我的 'hello' .
但这不是我需要的 - 我需要生成的内容不是新的 document.pdf 文件,我需要将其生成为 pdf-test.pdf,我将把它附加到我需要的地方。它必须包含动态内容,但一劳永逸。
如何更改输出方式并在浏览器中打开非空pdf-test.pdf?
$dompdf->stream();
输出到浏览器,所以如果您不希望发生这种情况,请删除该行。
$dompdf->output();
将 PDF 创建为字符串,以便您可以将其另存为文件:
$output = $dompdf->output();
file_put_contents(get_template_directory() . '/pdf-test.pdf', $output);
我是这个图书馆的新手。我在没有作曲家的情况下安装了它,按照说明进行操作。 是的,它是 wordpress,但我需要完全手动完成我的任务,而不是使用插件,我想学习那个库,这似乎是一件好事。 我就是这样安装dompdf的。
require get_template_directory() . '/pdf-test.php';
require_once get_template_directory() . '/assets/dompdf/autoload.inc.php';
use Dompdf\Dompdf;
$dompdf = new Dompdf();
ob_start();
require(get_template_directory().'/pdf-test.php');
$content_pdf = ob_get_clean();
$dompdf->loadHtml( $content_pdf);
// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'landscape');
// Render the HTML as PDF
$dompdf->render();
// Output the generated PDF to Browser
$output= $dompdf->output();
$dompdf->stream();
Pdf-test.php 必须是输出文件。现在很简单,没什么特别的
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
?>
<div class="test" style="font-family: Dejavu Sans, sans-serif;">
hello
</div>
<?php
我打算做什么?将 pdf-test.pdf 附加到用户电子邮件。会有动态内容,特别的,所以插件帮不了我。
add_filter( 'woocommerce_email_attachments', 'attach_terms_conditions_pdf_to_email', 10, 3);
function attach_terms_conditions_pdf_to_email ( $attachments , $id, $object ) {
$your_pdf_path = get_template_directory() . '/pdf-test.pdf';
$attachments[] = $your_pdf_path;
return $attachments;
}
在电子邮件中,用户必须在浏览器中打开附加的 pdf 文件。使用来自互联网的随机 pdf 效果很好,所以这个想法还没有死,现在我想创建自己的。
当我加载或重新加载页面时,新的 pdf 文件正在创建和下载为 document.pdf,如果我保存它,我会在浏览器中成功打开它,我会看到我的 'hello' .
但这不是我需要的 - 我需要生成的内容不是新的 document.pdf 文件,我需要将其生成为 pdf-test.pdf,我将把它附加到我需要的地方。它必须包含动态内容,但一劳永逸。 如何更改输出方式并在浏览器中打开非空pdf-test.pdf?
$dompdf->stream();
输出到浏览器,所以如果您不希望发生这种情况,请删除该行。
$dompdf->output();
将 PDF 创建为字符串,以便您可以将其另存为文件:
$output = $dompdf->output();
file_put_contents(get_template_directory() . '/pdf-test.pdf', $output);