首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Cakephp中使用TCPDF

在Cakephp中使用TCPDF
EN

Stack Overflow用户
提问于 2017-02-09 16:56:53
回答 1查看 3.3K关注 0票数 0

有很多关于这个主题的帖子,但是和任何谎言的链接都不再有效了.我跟踪了的文章。我下载了TCPDF主机。将其压缩到Vendor/ tcpdf编辑的xtcpdf.php文件夹中

代码语言:javascript
复制
<?php
App::import('Vendor','tcpdf/tcpdf');

class XTCPDF extends TCPDF{

}

编辑config.php (这是正确的路径吗? /** *安装路径(/var/www/tcpdf/)。*默认情况下,它是自动计算的,但您也可以将其设置为固定字符串,以提高性能。*/定义('K_PATH_MAIN','/var/www/ppp/app/Vendor/tcpdf');

代码语言:javascript
复制
/**
 * URL path to tcpdf installation folder (http://localhost/tcpdf/).
 * By default it is automatically set but you can also set it as a fixed string to improve performances.
 */
define ('K_PATH_URL', 'http://localhost/ppp/Vendor/tcpdf');

创建应用程序/查看/布局/pdf/default.ctp

代码语言:javascript
复制
    <?php

header("Content-type: application/pdf");

echo $content_for_layout;
?>

然后在网页控制器中:

代码语言:javascript
复制
public function newpdf(){

    $users = $this->User->find('all');

    $this->set(compact('users'));

    $this->layout = '/pdf/default';

    $this->render()->type('application/pdf');

}

和de / and控制器

代码语言:javascript
复制
public function newpdf(){

    $users = $this->User->find('all');

    $this->set(compact('users'));

    $this->layout = '/pdf/default';

    $this->render()->type('application/pdf');

}

当我想测试它时,我得到一个空白页,没有任何东西.

  • 我在网页上做了这个功能。这样可以吗?还是我应该在别的地方做这个功能?
  • 配置文件中的路径,我在linux上的本地主机上工作。路径:/var/www/ppp/app/Vendor/tcpdf.这条路对吗?
  • 网址设置是http://localhost/ppp/app/Vendor/tcpdf,是正确的网址吗?提前感谢
EN

回答 1

Stack Overflow用户

发布于 2017-02-17 06:11:36

首先,您是否检查了tcpdf是否已加载?

代码语言:javascript
复制
App::import('Vendor','tcpdf',array('file' => 'tcpdf/tcpdf.php'));

那么,在您想要放置pdf.It的路径上,必须是真正的路径

代码语言:javascript
复制
$path=realpath('../webroot/pdf/') . '/';

然后初始化tcpdf。

代码语言:javascript
复制
$pdf= new tcpdf();

然后设置所需的文件选项

代码语言:javascript
复制
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Your Name');
$pdf->SetTitle(title);
$pdf->SetSubject('TCPDF');
$pdf->SetKeywords(keywords);
// add a page
$pdf->AddPage();

然后获取要转换为pdf的html。

代码语言:javascript
复制
$html= $this->render('/Elements/Pdf');

将html写入pdf

代码语言:javascript
复制
$pdf->writeHTML($html, true, false, true, false, '');

然后输出它

代码语言:javascript
复制
$name='pdf.pdf';
$pdf->Output($path.$name, 'F');

如果还有什么问题请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42142517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档