使用 TCPDF 编写变量 PHP

发布于 2024-09-12 23:35:03 字数 682 浏览 9 评论 0原文

我必须使用 TCPDF 生成 PDF,我的信息来自我的数据库,所以我必须编写 PHP 变量。我知道该怎么做。

但我想使用以下方式编写 CSS + xHTML(作为我在 TCPDF 网站上看到的示例):

$html = <<<EOF

<style>
  <!-- My CSS -->
</style>

  <!-- My xHTML -->

EOF;

$pdf->writeHTML('$html', '');

当我尝试打开 PDF 时出现错误。我读过我必须用“\”转义“$”。此后,我没有错误,但变量的内容没有出现在我的 PDF 中。

编辑:

@Sarfraz:如果我这样做,我不知道该怎么做,它不起作用?

$html = <<<EOF

    <style>
      <!-- My CSS -->
    </style>

      <!-- My xHTML -->
      <span><?php echo $myVar; ?></span>

    EOF;

    $pdf->writeHTML('$html', '');

I have to generate a PDF with TCPDF, my information come from my database, so I have to write PHP variables. I know how to do.

But I want to write CSS + xHTML (as an example I have seen of TCPDF site) using :

$html = <<<EOF

<style>
  <!-- My CSS -->
</style>

  <!-- My xHTML -->

EOF;

$pdf->writeHTML('$html', '');

I have errors when I try to open the PDF. I have read I must escape the '$' with '\'. After this, I have no error, but the content of my variables doesn't appear in my PDF.

EDIT :

@Sarfraz: I don't see how can I do this if I do this, it doesn't work ?

$html = <<<EOF

    <style>
      <!-- My CSS -->
    </style>

      <!-- My xHTML -->
      <span><?php echo $myVar; ?></span>

    EOF;

    $pdf->writeHTML('$html', '');

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

情话已封尘 2024-09-19 23:35:03

要获得更精细的结果:

输出最终 PDF:
当您完成创建所有必需的单元格、图像、链接、文本等后,您必须调用 Output() 方法才能真正获得动态创建的 PDF。这可以不带任何参数,在这种情况下,PDF 将发送到浏览器,但更常见的是,开发人员指定生成的 PDF 的文件名和目标。目标可以是四个值之一,它们是:

I: send the file inline to the browser.  
D: send to the browser and force a file download with the name given by name.  
F: save to a local file with the name given by name.  
S: return the document as a string.

您可以看到我的代码将目标值设置为 F:

$pdf->Output(”./pdfs/example.pdf”, “F”);

引用自:http://www.akamarketing.com/blog/109-php-to-pdf-conversion-with-tcpdf.html

For more refined results:

Outputting the final PDF:
When you’ve finished creating all required cells, images, links, text etc. you have to call the Output() method to actually get your hands on your dynamically created PDF. This can take no parameters in which case the PDF is sent to the browser, more commonly though, developers specify the filename and the destination of the generated PDF. The destination can be one of four values, these are:

I: send the file inline to the browser.  
D: send to the browser and force a file download with the name given by name.  
F: save to a local file with the name given by name.  
S: return the document as a string.

You can see my code sets the destination value as F:

$pdf->Output(”./pdfs/example.pdf”, “F”);

referenced from: http://www.akamarketing.com/blog/109-php-to-pdf-conversion-with-tcpdf.html

花桑 2024-09-19 23:35:03

确保 EOF; 之前没有空格和缩进,否则会出现错误。

另外,如果您在heredoc语法转义中有任何变量,请将它们放入{}中,例如{$somevar}

Make sure that there is no space and indentation before EOF; otherwise you will get error.

Also if you have any variables in heredoc syntax escape put them in {} like {$somevar}

盛夏尉蓝 2024-09-19 23:35:03

我有同样的问题。我通过试验自己提到的事情得到了解决方案,如下所示:

请使用串联将 $html 字符串分成几部分。这肯定会解决问题。
例如我这样使用:

$html = 'HTML CONTENT BREAKS HERE'.$variable_name.'HTML CONTENT CONTINUES HERE';

通常,大多数开发人员会在 $html 值中使用 PHP 变量,

$html = 'HTML CONTENT echo php variable HTML CONTENT';

I had same problem. I got solution by experimenting things myself mentioned as follows:

Please use concatenation to break $html string into parts. This will solve the problem surely.
e.g. I used like this:

$html = 'HTML CONTENT BREAKS HERE'.$variable_name.'HTML CONTENT CONTINUES HERE';

Normally, most developers will use PHP variable within $html value,

$html = 'HTML CONTENT echo php variable HTML CONTENT';
因为看清所以看轻 2024-09-19 23:35:03

使用单引号 (') 或双引号 (") 代替 EOF 标记也会有所帮助。

Instead of EOF tags , make use of single(') or double quote(") that will also help.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文