如何在Magento中生成pdf文件

时间:2011-12-13 15:57:53

标签: magento zend-framework

我必须在Magento的pdf文件中生成产品列表。

我如何使用Zend_Pdf来做到这一点?

非常感谢。

2 个答案:

答案 0 :(得分:3)

我发现Zend_Pdf使用起来有点挑战性。我使用它的方式是在其他程序中创建一个“模板”pdf(我使用开放式办公室计算)。将其保存在magento安装中的某处并调用

$pdf = Zend_Pdf::load('filename.pdf');

接下来是修改页面。我只有一页,所以我用了

$page = $pdf->pages[0];

这抓住了第一个(也是唯一一个页面)。要使用文本,您必须设置字体。然后画文字。

$page->setFont(Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA), 8);
$page->drawText($currentDate, 490, 702);  

你说你想创建一个产品列表,所以你可以做类似的事情。这非常hackish,因为你必须用坐标绘制文本。

$products = Mage::getModel('catalog/product')->getCollection();
$products->addAttributeToSelect('name');
$amountToSubtract = 0;
$beginningVerticalPosition = 480;
foreach ($products as $product)
{
    $vert = $beginningVerticalPosition - $amountToSubtract;
    $page->drawText($product['sku'], 40, $vert);
    $page->drawText($product['name'], 150, $vert);
    $amountToSubtract = $amountToSubtract + 13;
}

然后你必须将它渲染为application / pdf而不是html。我不确定你是如何使用它的,所以很难说出最好的方法。

答案 1 :(得分:0)

wkhtmltopdf是一个更好的选择。您可以使用它截取您网站的屏幕截图,一种方法是使用只有您的工具使用的新商店视图,然后可以在缩略图,svg版本的徽标和隐藏按钮中获得更高分辨率的图像。