powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Apex Listener не печатает русские символы
16 сообщений из 16, страница 1 из 1
Apex Listener не печатает русские символы
    #38430417
pinky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!
Пробую использовать Apex Listener 2.0.5 для печати в PDF.
Но вместо русских символов он выдаёт ###.
Пробовал выбирать разные шрифты (Helvetica, Times, Courier), но результат тот же.
Glassfish 4 в логе выдаёт примерно следующее:

[2013-10-16T23:39:19.790+0600] [glassfish 4.0] [WARNING] [] [org.apache.fop.apps.FOUserAgent] [tid: _ThreadID=21 _ThreadName=http-listener-1(3)] [timeMillis: 1381945159790] [levelValue: 900] [[
Glyph "А" (0x410, Acyrillic) not available in font "Helvetica".]]

Понимаю, что в шрифте Helvetica нет русских символов.

Как можно научить Apex Listener понимать русский?

Пробовал на следующих конфигурациях: Windows XP, Apex 4.2.3, Apex Listener 2.0.5, Glassfish 4 + тоже самое но на Windows 7.
...
Рейтинг: 0 / 0
Apex Listener не печатает русские символы
    #38430603
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здесь в разделе Prerequisites есть Note - не ваш случай?
...
Рейтинг: 0 / 0
Apex Listener не печатает русские символы
    #38431123
pinky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mr_Frost, спасибо за ответ!
Думаю, это мой случай. Шрифтов Helvetica, Times, Courier с кирилицей в Windows нет.
В интернете этих шрифтов также не нашёл.

Честно говоря не понял, как подключить шрифты именно в Apex Listener. Но попробовал создать свой отчёт в Stylus Studio с явным указанием шрифта (например, Times New Roman).

В результате в логе glassfish получил следующее:

[2013-10-02T10:31:44.040+0600] [glassfish 4.0] [WARNING] [] [org.apache.fop.apps.FOUserAgent] [tid: _ThreadID=20 _ThreadName=http-listener-1(3)] [timeMillis: 1380688304040] [levelValue: 900] [[
Font "Times New Roman,normal,400" not found. Substituting with "any,normal,400".]]

[2013-10-02T10:31:44.040+0600] [glassfish 4.0] [WARNING] [] [org.apache.fop.apps.FOUserAgent] [tid: _ThreadID=20 _ThreadName=http-listener-1(3)] [timeMillis: 1380688304040] [levelValue: 900] [[
Glyph "И" (0x418, Iicyrillic) not available in font "Times-Roman".]]

Т.е. Times New Roman он тоже не находит, хотя в Windows он установлен.
...
Рейтинг: 0 / 0
Apex Listener не печатает русские символы
    #38436180
pinky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Видимо, никто не использует Apex Listener для печати...
Люди! Тогда поделитесь кто что использует?
BI Publisher не предлагать :)
...
Рейтинг: 0 / 0
Apex Listener не печатает русские символы
    #38436386
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pinkyВидимо, никто не использует Apex Listener для печати...
конечно вряд ли кто-то использует. Возможность только появилась, документации - ноль,
что-то подкрутить - тоже похоже ноль )
...
Рейтинг: 0 / 0
Apex Listener не печатает русские символы
    #38453672
pinky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В итоге сделал всё на Apache FOP. Правда там тоже пришлось с бубном потанцевать, но зато теперь всё работает.
Всем спасибо!
...
Рейтинг: 0 / 0
Apex Listener не печатает русские символы
    #38465291
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И все-таки заставить работать можно,

Если внимательно почитать документацию, там таки это есть:

http://docs.oracle.com/cd/E37099_01/doc/doc.20/e25068/toc.htm#autoId5 Provided a means to configure the FOP engine using a FOP configuration file. This provides finer control over the FOP engine, enabling users to configure things such as custom fonts. Also added the fop.configfile property to the defaults.xml file to specify the location of the FOP configuration file that Listener should use.

Соответственно, добавляем в defaults.xml, например:

Код: sql
1.
<entry key="fop.configfile">C:\путь\fop.xml</entry>



и создаем fop.xml, например:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<fop version="1.0">
<renderers>
 <renderer mime="application/pdf">
   <fonts>
     <!-- Arial  -->
     <font kerning="yes" embed-url="c:\windows\fonts\arial.ttf">
       <font-triplet name="Arial" style="normal" weight="normal" />
       <font-triplet name="ArialMT" style="normal" weight="normal" />
     </font>
   </fonts>
 </renderer>
</renderers>
</fop>
...
Рейтинг: 0 / 0
Apex Listener не печатает русские символы
    #38465624
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Документация Oracle, как всегда, "на высоте"...
В разделе About the Configuration File ни слова о настройках fop.
Здесь промелькнуло упоминание о ключе
<entry key="misc.enableOldFOP">true</entry>,
сейчас мы узнаем о наличии еще одного:
<entry key="fop.configfile">C:\путь\fop.xml</entry>
Может, еще какие-то есть, о которых Oracle "забыли" упомянуть в документации?
А вообще, спасибо SvDev, великое дело раскопал!
...
Рейтинг: 0 / 0
Apex Listener не печатает русские символы
    #38466245
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_Frost,

Касательно release notes, думаю, у них внутренняя политика такая - при выходе патчей обновлять только release notes, остальную доку оставлять без изменений до следующего релиза.

Вообще, согласен, дока у apex listener до безобразия короткая, туда много чего стоило бы добавить.

Mr_FrostМожет, еще какие-то есть, о которых Oracle "забыли" упомянуть в документации?

По скрытым параметрам мне больше всего утилитка adrci нравится,
от там дей-но разработчики поизвращались


adrci parameters
...
Рейтинг: 0 / 0
Apex Listener не печатает русские символы
    #38467648
pinky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev, спасибо за информацию!
Скорее всего, по аналогии с Apache FOP в конфигурационном файле можно указать всю папку с шрифтами.
Завтра попробую ещё раз с ApexListener.
...
Рейтинг: 0 / 0
Apex Listener не печатает русские символы
    #38479252
pinky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev, Mr_Frost, спасибо!

В defaults.xml сделал запись:
Код: xml
1.
<entry key="fop.configfile">C:\путь\fop.xml</entry>



В fop.xml:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<fop version="1.0" encoding="UTF-8">
	<renderers>
    <renderer mime="application/pdf">
      <filterList>
        <value>flate</value>
      </filterList>
	<fonts>
		<directory>C:\WINDOWS\FONTS</directory>
		<auto-detect/>
	</fonts>
        <stroke-text>false</stroke-text>
      </xml-handler-->
    </renderer>
	</renderers>
</fop>



Перезапустил Glassfish и теперь apex listener понимает русские шрифты.
...
Рейтинг: 0 / 0
Apex Listener не печатает русские символы
    #38479254
pinky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
только без </xml-handler--> в конце. (Остатки коментариев).
...
Рейтинг: 0 / 0
Apex Listener не печатает русские символы
    #38493195
freecozoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тоже стал разбирать с pdf отчетами в apex и возникло несколько вопросов. Я так понимаю все высказанное работает при создании свое стиля отчета (report layout), а можно ли заставить Apex listener выводить русские символы используя только встроенные шрифты (Helvetica, Times, Courier), например заменив их, или указав пути явно на их замену. На сколько я понял в interactive reports нет возможности подключить свой стиль отчетов, тогда как быть ? Кто знает, разъясните плз
...
Рейтинг: 0 / 0
Apex Listener не печатает русские символы
    #38493658
haXbat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посоны, имейте в виду, что с pdf форматом будет куча проблем при печати на старых матричных принтерах.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Apex Listener не печатает русские символы
    #39306736
bars83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
freecozoidТоже стал разбирать с pdf отчетами в apex и возникло несколько вопросов. Я так понимаю все высказанное работает при создании свое стиля отчета (report layout), а можно ли заставить Apex listener выводить русские символы используя только встроенные шрифты (Helvetica, Times, Courier), например заменив их, или указав пути явно на их замену. На сколько я понял в interactive reports нет возможности подключить свой стиль отчетов, тогда как быть ? Кто знает, разъясните плз
Столкнулся с аналогичной проблемой. Перелопатив кучу инфы, решение было найдено. Под Linux. Под Windows, возможно, есть свои ньюансы.
1. В БД надо поправить пакет (для APEX 5.0) APEX_050000.WWW_RENDER_REPORT3 - все строки вида <xsl:attribute name="font-family">#xxxxx#</xsl:attribute> заменить на <xsl:attribute name="font-family">Arial</xsl:attribute>, после чего перекомпилировать пакет
2. в /opt/ords/config/ords/defaults.xml добавить строчку <entry key="fop.configfile">/opt/ords/config/ords/fop.xml</entry>
3. в файл /opt/ords/config/ords/fop.xml вставить содержимое
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<?xml version="1.0"?>
<fop>
    <renderers>
        <renderer mime="application/pdf">
            <fonts>
                <font kerning="yes"  embed-url="file:///opt/ords/ARIALUNI.TTF">
                    <font-triplet name="Arial" style="normal" weight="normal"/>
                    <font-triplet name="Arial" style="normal" weight="400"/>
                    <font-triplet name="ArialMT" style="normal" weight="normal"/>
                </font>
            </fonts>
        </renderer>
    </renderers>


4. Взять из Windows файл C:\Windows\Fonts\ARIALUNI.TTF и скопировать в /opt/ords/ARIALUNI.TTF
5. Проверить права на fop.xml, ARIALUNI.TTF что бы GlassFish мог читать их.
6. рестарт GlassFish
...
Рейтинг: 0 / 0
Apex Listener не печатает русские символы
    #39307120
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bars83В БД надо поправить пакет (для APEX 5.0)
ну вы даёте. Вот это велосипедище.
А почему Jasper report не использовать? Тогда ничего править не надо?
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Apex Listener не печатает русские символы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]