我正在尝试使用magento中的TCPDF创建pdf,我需要导入图像或pdf并进行修改。我在firefox中的代码运行良好,但在chrome或互联网上不起作用。
我把我的一些代码放了一遍:我的控制员:
public function printAction()
{
if (($cardCode = $this->getRequest()->getParam('code'))) {
$this->loadLayout('print');
$this->getResponse()->clearHeaders()
->setHeader('Content-Type', 'application/pdf');
$this->renderLayout();
} else {
$this->_redirect('/');
}
}
我的phtml:
require_once('tcpdf/tcpdf.php');
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetFont('helvetica', '', 15);
$pdf->AddPage();
$pdf->setJPEGQuality(100);
$fileName = Mage::getConfig()->getOptions()->getMediaDir()."/pdf/Gutschein-v2.jpg";
$pdf->Image($fileName, 0, 0, 210, 266, 'JPG', '', '', true, 150, '', false, false, 1, false, false, false);
if ($giftCard->getMailTo()) {
$name = $this->helper('core')->escapeHtml($giftCard->getMailTo(), null);
}
if ($giftCard->getMailFrom()) {
$from = $this->helper('core')->escapeHtml($giftCard->getMailFrom(), null);
}
$code=$giftCard->getCardCode();
$currency= Mage::helper('core')->currency($giftCard->getCardAmount(), true, false);
$pdf->MultiCell(80, 5, $name."\n", 1, 'J', 1, 1, 60, 102, true);
$pdf->MultiCell(80, 5, $from."\n", 1, 'J', 1, 1, 60, 123, true);
$pdf->MultiCell(80, 5, $currency."\n", 1, 'J', 1, 1, 60, 145, true);
$pdf->MultiCell(80, 5, $code."\n", 1, 'J', 1, 1, 60, 166, true);
$pdf->lastPage();
ob_start();
$pdf->Output('example_009.pdf', 'I');
ob_end_flush();
我可以在firefox中完美地看到pdf,但不能从我的电脑下载并打开它。 错误:pdf已损坏。
在互联网和谷歌浏览器中,我看不到PDF格式。
我不知道我做错了。 谢谢。
答案 0 :(得分:0)
您可以通过以下步骤轻松地在magento中添加tcpdf。
第1步:从here下载最新的tcpdf
步骤2:在magento的magento lib目录中创建目录 TCPDF (路径如/ lib / TCPDF)。 (如果没有创建目录的权限,那么从cPanel创建它)
第3步:在目录&中复制 tcpdf.php 将 tcpdf.php 重命名为 TCPDF.php
第4步:复制 tcpdf_autoconfig.php 文件。同时复制字体&打开TCPDF.php并将类名更改为类TCPDF_TCPDF {folder
第5步:打开 TCPDF.php 并将类名更改为类TCPDF_TCPDF {
第6步:使用以下示例代码进行测试:
$tcpdf = new TCPDF_TCPDF();
//your htmls here
$html = '<h1> hello world </h1>';
$tcpdf->AddPage();
$tcpdf->writeHTML($html, true, false, true, false, '');
$tcpdf->lastPage();
$tcpdf->Output('report_per_route_'.time().'.pdf', 'I');
或在var / report中保存pdf文件
$fn = Mage::getBaseDir('base').'/var/report/report_'.time().'.pdf';
$tcpdf->Output($fn, 'F');