Unicode — PDFLib (PHP) — символы не отображаются

Мы используем 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;

0

Решение

Мы используем 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/

0

Другие решения

Других решений пока нет …