如何垂直拆分pdf文档并按顺序显示页面

时间:2012-04-12 11:04:40

标签: php javascript zend-framework pdf pdf-generation

我有一个pdf文档,每页有2页我想垂直拆分页面并按顺序显示页面(例如100页pfd doc将转换为200页doc)

我想编写它可能是php / javascript(是否有可能)。我想将任何pdf文档上传到我的网站,然后将其垂直拆分,然后按顺序显示页面

请告诉我如何做到这一点,我试图谷歌,但我找不到解决方案

感谢

编辑:

我正在尝试使用clipRectangel()方法:

<?php
require_once 'Zend/Pdf.php'; 
$pdf = Zend_Pdf::load('pages.pdf');
$page = $pdf->pages[0]; 
$page->clipRectangle(10, 10, 30, 30); 
$pdf->save('new.pdf'); 
?> 

我正在尝试使用clipRectangle垂直拆分,但我没有在'new.pdf'中获得任何修改过的pdf我也想订购页面,请建议任何更好的方法来使用zend。如果你能给我几行代码,那将会很有帮助。

1 个答案:

答案 0 :(得分:1)

这是一个非常高的命令。

最好的办法是使用Zend_Pdf,它允许在PHP中使用loading and altering of (unprotected) PDF files。 Javascript无法做到这一点。

在任何情况下,这当然不适用于任何PDF。由于整个过程与HTML文本不同,您可以剪切文本(一页一半,另一半一半)。

将PDF转换为HTML是另一回事。

更新:我已将您的代码仅用于说明。没有测试过,但是如果你遇到错误,你应该能够很快找到解决方案。

require_once 'Zend/Pdf.php'; 

$pdf = Zend_Pdf::load('pages.pdf');
$pdfnew = new Zend_Pdf();


foreach ($pdf->pages as $page) {
    $curpage = $page;

    // Clipping for first part, enter your own numbers..
    $curpage->clipRectangle(10, 10, 30, 30);
    $pdfnew->pages[] = $curpage;

    $curpage = $page;

    // Clipping for second part, enter your own numbers..
    $curpage->clipRectangle(10, 10, 30, 30);
    $pdfnew->pages[] = $curpage;
}

$pdfnew->save('new.pdf');