Acrobat渲染bug与TCPDF中的复选框

时间:2015-12-22 17:39:37

标签: php tcpdf acrobat

我将TCPDF用于使用mysql和php从表生成的动态表单。我一直在使用它已经有一段时间没有问题了,但是最近我注意到了一个让我烦恼的渲染问题。起初我认为这是我的代码中的内容,但现在我不这么认为,要么认为这是TCPDF或杂技演员的问题......我倾向于后者。

以下是浏览器中的表单(相关部分): http://i67.tinypic.com/29c9j4x.png

以下是在Acrobat DC / Reader XI中下载和打开的相同PDF,如下所示: http://i68.tinypic.com/epqao9.png

此部分通过以下代码定义:

switch ((int)$appflags) 
{
case 0:
    $left_column = '<input type="checkbox" name="box" value="1" readonly="true" /> Shredding/Pulverizing<br><input type="checkbox" name="box" value="1" readonly="true" /> DoD 5220.22-M<br><input type="checkbox" name="box" value="1" readonly="true" /> Deleting';
    break;

case 1:
    $left_column = '<input type="checkbox" name="box" value="1" checked="checked" readonly="true" /> Shredding/Pulverizing<br><input type="checkbox" name="box" value="1" readonly="true" /> DoD 5220.22-M<br><input type="checkbox" name="box" value="1" readonly="true" /> Deleting';
    break;

case 2:
    $left_column = '<input type="checkbox" name="box" value="1" readonly="true" /> Shredding/Pulverizing<br><input type="checkbox" name="box" value="1" checked="checked" readonly="true" /> DoD 5220.22-M<br><input type="checkbox" name="box" value="1" readonly="true" /> Deleting';
    break;

case 3:
    $left_column = '<input type="checkbox" name="box" value="1" checked="checked" readonly="true" /> Shredding/Pulverizing<br><input type="checkbox" name="box" value="1" checked="checked" readonly="true" /> Dod 5220.22-M<br><input type="checkbox" name="box" value="1" readonly="true" /> Deleting';
    break;

case 4:
    $left_column = '<input type="checkbox" name="box" value="1" readonly="true" /> Shredding/Pulverizing<br><input type="checkbox" name="box" value="1" readonly="true" /> Dod 5220.22-M<br><input type="checkbox" name="box" value="1" checked="checked" readonly="true" /> Deleting';
    break;

case 5:
    $left_column = '<input type="checkbox" name="box" value="1" checked="checked" readonly="true" /> Shredding/Pulverizing<br><input type="checkbox" name="box" value="1" readonly="true" /> Dod 5220.22-M<br><input type="checkbox" name="box" value="1" checked="checked" readonly="true" /> Deleting';
    break;

case 6:
    $left_column = '<input type="checkbox" name="box" value="1" readonly="true" /> Shredding/Pulverizing<br><input type="checkbox" name="box" value="1" checked="checked" readonly="true" /> Dod 5220.22-M<br><input type="checkbox" name="box" value="1" checked="checked" readonly="true" /> Deleting';
    break;

case 7:
    $left_column = '<input type="checkbox" name="box" value="1" checked="checked" readonly="true" /> Shredding/Pulverizing<br><input type="checkbox" name="box" value="1" checked="checked" readonly="true" /> Dod 5220.22-M<br><input type="checkbox" name="box" value="1" checked="checked" readonly="true" /> Deleting';
    break;
}


$pdf->writeHTMLCell(60, '', 24, 165, $left_column, 0, 0, 0, true, 'J', true);
$pdf->writeHTMLCell(60, '', 124, 165, $right_column, 0, 2, 0, true, 'J', true);

相同的代码,相同的pdf,但在DC(最新的acrobat版本2015.009.20079)下载和打开时,复选框渲染有所不同。我卸载了Acrobat DC,回去安装了Adobe Reader XI,同样的问题。然后我将其中一个PDF转发到我的手机,在那里打开......一切正常。

因此它可以在我的Android设备上运行,它可以在Chrome中使用,但只能在桌面阅读器中使用。这是Acrobat Reader的问题,还是带有writehtml代码的问题?

1 个答案:

答案 0 :(得分:0)

刚刚下载了NitroPDF,文档呈现得很好。我将这个问题归咎于Adobe软件中的一个问题。