我将TCPDF用于一个使用mysql和php从表中生成的动态表单。我已经使用它一段时间了,现在没有问题,但最近我注意到一个渲染问题,它困扰着我。起初我认为这是我的代码中的一些东西,但现在我不这么认为,要么认为这是TCPDF的问题,要么是acrobat的问题……我倾向于后者。
下面是该表单在浏览器中的外观(相关部分):

下面是在Acrobat DC/Reader XI中下载并打开的相同PDF的外观:

此部分是通过以下代码定义的:
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文件转发到我的手机上,打开了there...everything works。
所以它可以在我的安卓设备上使用,在Chrome上也可以使用,但在桌面阅读器上不能使用。这是Acrobat Reader的问题,还是writehtml代码的问题?
发布于 2015-12-23 01:47:30
刚下载的NitroPDF,文档渲染效果很好。我把这件事归结为Adobe软件的问题。
https://stackoverflow.com/questions/34421526
复制相似问题