PDFLib:提取导入页面的一部分

时间:2014-09-23 10:14:40

标签: php pdf pdflib

我们有一个文档要在其布局部分中作为singel pdf文件进行切割: 例如标题 - > headline.pdf,段落 - >第01段.pdf等 为此,我们使用坐标来了解这些部件的放置位置。 (源文档来自OCR工具,保存这些坐标)

我们的问题是:切割的碎片是原始文档的简单副本,但是带有蒙版内容,文档边框的排列只留下所需的部分可见。 因此生成的文档都是相同的文件大小。 我们如何强制PDFLib将不需要的部分切掉?我希望有一个解决方案。我们尝试了很多修剪框,裁剪框等组合,但没有结果。

以下是我们使用的代码:

$fWidth = 200;//width of document part
$fHeight = 20;//height of document part
$fMinXPoint = 10;//left coordinate x
$fMinYPoint = 10;//left coordinate y

$oPdf = new \PDFLib();
$oPdf->begin_document('', 'optimize=true linearize=true inmemory=true');
$oPdf->set_option('compress=9');
$oPdf->set_option('topdown=true');
$oLoadedDocument = $oPdf->open_pdi_document($sRealFilePath, '');// original pdf
$oPage           = $oPdf->open_pdi_page(
                    $oLoadedDocument,
                    1,
                    'clippingarea=crop'
);
$oPdf->begin_page_ext($fWidth, $fHeight, '');
$oPdf->fit_pdi_page($oPage, -$fMinXPoint, -$fMinYPoint, 'position={left top}'); 
$oPdf->end_page_ext("cropbox={0 0 $fWidth $fHeight}");
$oPdf->close_pdi_page( $oPage );
$oPdf->close_pdi_document( $oLoadedDocument );
$oPdf->end_document('');

1 个答案:

答案 0 :(得分:0)

  

我们如何强制PDFlib将不需要的部分切掉?

PDI无法做到这一点。对于PDI(PDFlib的PDF导入扩展名)导入的页面 是一个"黑盒",完整的页面内容将被复制到输出PDF。 没有选项可以使用PDFlib + PDI操作页面内容,这对于从页面中删除内容是必要的。