Zend Framework PDF页面调整大小(缩放)/旋转(页面不是元素)

时间:2014-05-12 09:35:42

标签: zend-framework merge rotation resize zend-pdf

是否有可能将Zend_Pdf_Page对象从(例如)DIN-A4调整为DIN-A6(或任何其他尺寸)?

我想合并4个PDF(1页)文件到1个pdf文件(1页)。在每个边缘应该是4个pdf文件之一。

定位,网格,例如没有问题...但是如何更改文档大小(现有pdf文件)以及如何旋转整个文档?

我使用ZF1,但如果解决此问题的唯一方法是使用外部库 - 没问题。

PS:抱歉我的英语不好(希望这足以理解我的问题)


编辑:14:49 05/12/2014

还尝试用imagick将pdf转换为图像,但是对于那些小拇指来说,打印质量太差了......: - (

2 个答案:

答案 0 :(得分:1)

从技术上讲,您的要求可以通过将页面转换为所谓的表单XObject来完成,该表单可以放在新创建的页面上。这就是FPDI的工作原理:http://www.setasign.com/products/fpdi/demos/thumbnails/(也许是你的另一种选择)。

我刚检查了ZendPdf的代码,但我找不到任何可能允许的方法。

也可以使用FPDF / FPDI进行旋转:http://fpdf.org/en/script/script2.php

答案 1 :(得分:0)

在您的代码中,如果您有$page = new Zend_Pdf_Page();之类的内容,则可以在此处设置所需的尺寸。

例如,您可以为A6格式编写$page = new Zend_Pdf_Page('297:420');(如果我没记错的话)。

要以横向(宽)方向表示A4页面,您可以书写
$page = new Zend_Pdf_Page('a4-landscape');

$page = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4_LANDSCAPE);

您可以查看documentationZend_Pdf_Page类构造函数的源代码以获取更多信息。

我希望它会对你有所帮助。 :)