Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Apex Listener не печатает русские символы / 16 сообщений из 16, страница 1 из 1
16.10.2013, 22:01
    #38430417
pinky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex Listener не печатает русские символы
Всем привет!
Пробую использовать 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
17.10.2013, 07:04
    #38430603
Mr_Frost
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex Listener не печатает русские символы
Здесь в разделе Prerequisites есть Note - не ваш случай?
...
Рейтинг: 0 / 0
17.10.2013, 13:11
    #38431123
pinky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex Listener не печатает русские символы
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
21.10.2013, 21:10
    #38436180
pinky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex Listener не печатает русские символы
Видимо, никто не использует Apex Listener для печати...
Люди! Тогда поделитесь кто что использует?
BI Publisher не предлагать :)
...
Рейтинг: 0 / 0
22.10.2013, 08:22
    #38436386
Mr_Frost
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex Listener не печатает русские символы
pinkyВидимо, никто не использует Apex Listener для печати...
конечно вряд ли кто-то использует. Возможность только появилась, документации - ноль,
что-то подкрутить - тоже похоже ноль )
...
Рейтинг: 0 / 0
05.11.2013, 20:24
    #38453672
pinky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex Listener не печатает русские символы
В итоге сделал всё на Apache FOP. Правда там тоже пришлось с бубном потанцевать, но зато теперь всё работает.
Всем спасибо!
...
Рейтинг: 0 / 0
14.11.2013, 16:17
    #38465291
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex Listener не печатает русские символы
И все-таки заставить работать можно,

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

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
14.11.2013, 19:49
    #38465624
Mr_Frost
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex Listener не печатает русские символы
Документация Oracle, как всегда, "на высоте"...
В разделе About the Configuration File ни слова о настройках fop.
Здесь промелькнуло упоминание о ключе
<entry key="misc.enableOldFOP">true</entry>,
сейчас мы узнаем о наличии еще одного:
<entry key="fop.configfile">C:\путь\fop.xml</entry>
Может, еще какие-то есть, о которых Oracle "забыли" упомянуть в документации?
А вообще, спасибо SvDev, великое дело раскопал!
...
Рейтинг: 0 / 0
15.11.2013, 12:31
    #38466245
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex Listener не печатает русские символы
Mr_Frost,

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

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

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

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


adrci parameters
...
Рейтинг: 0 / 0
17.11.2013, 10:45
    #38467648
pinky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex Listener не печатает русские символы
SvDev, спасибо за информацию!
Скорее всего, по аналогии с Apache FOP в конфигурационном файле можно указать всю папку с шрифтами.
Завтра попробую ещё раз с ApexListener.
...
Рейтинг: 0 / 0
27.11.2013, 07:11
    #38479252
pinky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex Listener не печатает русские символы
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
27.11.2013, 07:19
    #38479254
pinky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex Listener не печатает русские символы
только без </xml-handler--> в конце. (Остатки коментариев).
...
Рейтинг: 0 / 0
08.12.2013, 12:40
    #38493195
freecozoid
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex Listener не печатает русские символы
Тоже стал разбирать с pdf отчетами в apex и возникло несколько вопросов. Я так понимаю все высказанное работает при создании свое стиля отчета (report layout), а можно ли заставить Apex listener выводить русские символы используя только встроенные шрифты (Helvetica, Times, Courier), например заменив их, или указав пути явно на их замену. На сколько я понял в interactive reports нет возможности подключить свой стиль отчетов, тогда как быть ? Кто знает, разъясните плз
...
Рейтинг: 0 / 0
09.12.2013, 09:32
    #38493658
haXbat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex Listener не печатает русские символы
Посоны, имейте в виду, что с pdf форматом будет куча проблем при печати на старых матричных принтерах.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
09.09.2016, 16:23
    #39306736
bars83
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex Listener не печатает русские символы
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
10.09.2016, 22:32
    #39307120
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex Listener не печатает русские символы
bars83В БД надо поправить пакет (для APEX 5.0)
ну вы даёте. Вот это велосипедище.
А почему Jasper report не использовать? Тогда ничего править не надо?
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Apex Listener не печатает русские символы / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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