dt2015 2012-08-17 10:11
浏览 52

fpdi tcpdf图层级管理?

I editing existing pdf file using FPDI, and TCPDF libraries, by drawing a transparent rectangle.

$pdf = new FPDI(); 
$pagecount = $pdf->setSourceFile('my.pdf'); 
$unserialized = unserialize($questionaire['cordinates']); 
for ($page_counter = 1; $page_counter <= $pagecount; $page_counter++) {
    $tplidx = $pdf->ImportPage($page_counter);
    $s = $pdf->getTemplatesize($tplidx);
    $pdf->AddPage($s['h'] > $s['w'] ? 'P' : 'L', array($s['w'], $s['h']));
    $pdf->useTemplate($tplidx, 0, 0, 0, 0, true);

    for ($i = 0; $i < sizeof($unserialized); $i++) {
        $selection = (object)$unserialized[$i];
        if ($page_counter == $selection->current_frame) {
            switch ($selection->type) {
                case "Rect":
                    $pdf->SetAlpha(0.3);
                    $color = int2rgb($selection->select_color);
                    $pdf->Rect(($selection->left), ($selection->top), ($selection->width), ($selection->height), 'F', NULL, $color);
                            break;
                    case "Comment":
                        break;
            }
        }
    }
}

The problem is:
rectangle covering text, so there is no possbile to select it during reading output pdf file. There are layers methods in TCPDF, but I can only, group elements and manage their visibility, with it.
Also some of the pdf files contains text elements, others contains image - snapshot of the page.

Questions:
Is it possible set stream, from imported page, as top layer and draw rectangle as lower layers, or as the backgrund?
How to recognize that imported pdf contains text ements, or images?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
    • ¥20 关于URL获取的参数,无法执行二选一查询
    • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
    • ¥15 marlin编译错误,如何解决?
    • ¥15 有偿四位数,节约算法和扫描算法
    • ¥15 VUE项目怎么运行,系统打不开
    • ¥50 pointpillars等目标检测算法怎么融合注意力机制
    • ¥20 Vs code Mac系统 PHP Debug调试环境配置
    • ¥60 大一项目课,微信小程序
    • ¥15 求视频摘要youtube和ovp数据集