Я использую TCPDF для динамической формы, которая генерируется из таблицы с использованием mysql и php. Я использовал его в течение некоторого времени без проблем, но в последнее время я заметил проблему с рендерингом, которая беспокоит меня. Сначала я думал, что это что-то в моем коде, но теперь я так не думаю, и либо считаю, что это проблема с TCPDF или с acrobat … Я склоняюсь к более позднему.
Вот как выглядит форма в браузере (рассматриваемый раздел):
http://i67.tinypic.com/29c9j4x.png
и вот как выглядит тот же PDF, скачанный и открытый в Acrobat DC / Reader XI:
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?
Только что скачал NitroPDF, документ отображается нормально. Я объясняю это проблемой программного обеспечения Adobe.
Других решений пока нет …