Как ввести символ «флажок» в pdf-файл, сгенерированный report4pdf?

Поэтому я работаю над созданием PDF-файлов с помощью пакета report4PDF (bob nemec) из программного обеспечения VisualWorks 8.1 от Cincom. Я делаю все в «светской беседе».

Однако сейчас проблема, с которой я сталкиваюсь, заключается в том, что я не могу отобразить символ флажка в PDF-файле.

Итак, мой код будет выглядеть следующим образом:

pdfDocument := Report4PDF.R4PReport new.
exporter := SAGETEAPDFDataExporter onDocument: pdfDocument.
exporter currentText text string:' Available'.
"Followed by relevant code to save PDF"

Но то, что отображается в моем PDF-файле, в основном «Доступно». Вместо символа флажка появляется пробел. Я даже пытался использовать коды дингбатов (например: # 9744 ). Работает с копирайтом, альфа, гамма символами. Не с символом флажка.

Я попытался обновить свой образ VisualWorks из общедоступного репозитория, используя пакеты разработки report4pdf, pdf и разработки шрифтов. Столкнулся с некоторыми проблемами, которые я не буду упоминать, так как это отвлечет нас от темы.

Заранее спасибо!


person Mujasoft    schedule 28.03.2017    source источник
comment
Что такое codePoint символа, который вы пытаетесь напечатать? Также виден ли этот символ, когда вы используете тот же шрифт, что и ваш pdf?   -  person Leandro Caniglia    schedule 28.03.2017
comment
@LeandroCaniglia Извиняюсь за предыдущий пустой комментарий. Итак, что вы подразумеваете под «codePoint»? Я не знаком с этим термином. Также во второй части я вижу символ флажка, когда я «проверяю» строку в отладчике... Я использую шрифт Helvetica, который, как мне кажется, является шрифтом по умолчанию. Считаете ли вы, что шрифт может не поддерживать символ флажка?   -  person Mujasoft    schedule 28.03.2017


Ответы (1)


Хорошо... Итак, я нашел решение этого вопроса. Я просто опубликую ответ здесь на всякий случай, если кто-то еще попадет в аналогичную ситуацию.

    pdfDocument := Report4PDF.R4PReport new.
    exporter := SAGETEAPDFDataExporter onDocument: pdfDocument.
    exporter currentText text:[:text|
         text string zapfDingbats ;string:'q'. 
         text string helvetica; string:'Available' ]. 

Таким образом, вы можете использовать шрифт dingbats, чтобы получить аналогичный символ для флажка. Вы используете смешанные шрифты, чтобы получить что-то вроде этого: «(Флажок) Доступно». Итак, строка выглядит так: «q Available». Но «q» имеет шрифт dingbats, а подстрока «Доступно» — Helvetica.

Надеюсь, это помогло. И еще раз спасибо @Leandro за попытку помочь мне :)

Ваше здоровье!

person Mujasoft    schedule 28.03.2017
comment
Красиво решено. Вы также можете взглянуть на R4PBullet, который позволяет использовать текстовую строку с маркером, используя любой шрифт. См. R4PRReportTest››пример Bullet - person Bob Nemec; 29.03.2017
comment
Спасибо! Да, я пытался просмотреть раздел R4Bullet, но не смог найти подходящий тип маркера. Все они были сплошными черными, тогда как мне нужно что-то вроде пустого флажка. И, кстати, отличная работа над пакетом Report4PDF. Это действительно полезно. :) - person Mujasoft; 29.03.2017