Мы используем PDFlib (не уверен, что точная версия должна быть последней), и я пытаюсь, чтобы штрих-код отображался с использованием кода 128W 3 BCW (не A, B или C, но стандартного) с использованием той же формулы, что и в старых отчетах Crystal Reports. 8.0 формула (которая отображается правильно), которая начинается с символа # 205 и заканчивается символом # 206.
Проблема в том, что штрих-код вообще не отображается, НО ТАКЖЕ строка не отображается, когда я устанавливаю другое поле Textflow, просто используя шрифт по умолчанию, так что это, вероятно, некоторая проблема с Escape или что-то в этом роде. Я экспериментировал с изменением значений escape-последовательности и charref безрезультатно.
Штрих-код будет отображаться (теперь, когда он установлен в Unicode) для стандартных символов, таких как «111111111», но в тот момент, когда отображается символ, такой как chr (205), он ничего не отображает.
Есть идеи?
Спасибо!
$p = new PDFlib();
$p->set_option("errorpolicy=return");
$p->set_option("stringformat=utf8");
$p->begin_document("", "");
$doc = $p->open_pdi_document("/usr/local/PDFlib/templates/CertifiedMail.pdf", "");
$page = $p->open_pdi_page($doc, 1, "");
if ($page == 0) throw new Exception("Error: " . $p->get_errmsg());
$p->begin_page_ext(0, 0, "width=letter.width height=letter.height");
$p->fit_pdi_page($page, 0, 0, "");
$sText = chr(205).chr(103).chr(122).chr(232).chr(38).chr(96).chr(42).chr(232).chr(108).chr(115).chr(76).chr(206);
$p->fill_textblock($page, "sReturnAddress", $sText, "encoding winansi");
$p->fill_textblock($page, "uniBarcode", $sText, "encoding unicode");
$p->close_pdi_page($page);
$p->end_page_ext("");
$p->end_document("");
$buf = $p->get_buffer();
$len = strlen($buf);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=font_resource.pdf");
print $buf;
Мы используем PDFlib (не уверен, точная версия, должна быть недавней)
Вы можете просто определить это, проверив вывод phpinfo ().
Я бы предложил встраивать шрифт, который всегда рекомендуется для пользовательских шрифтов, например, шрифт штрих-кода. (В противном случае шрифт должен быть установлен в системе, где вы просматриваете PDF). Используйте опцию «встраивание» в вашем случае в списке опций fill_textblock (). В противном случае в списке опций load_font ().
Потенциальная дополнительная проблема, когда ваш код является символьным шрифтом, у вас есть
загрузить шрифт с кодировкойвстроенная«. И затем вам нужно обращаться к глифам по кодовым точкам, а не через строку Unicode. См. Учебное пособие по PDFlib 9, глава 5.4.2» Выбор кодировки для символических шрифтов «и 5.4.3» Пример: выбор символа из Wingdings Symbol Font »для получения дополнительной справочной информации.
И я уверен, что для дальнейшей подробной помощи ребята из PDFlib окажут вам надлежащую помощь. Тогда вы также можете поделиться своими ресурсами и т. Д. http://www.pdflib.com/licensing-support/opening-a-support-case/
Других решений пока нет …