AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 11.12.2012, 23:36   #41  
AndyD ist offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2.560 / 2494 (89) +++++++++
Registriert seit: 20.08.2005
Дело в том, что в pdf-файл из аксапты символы записываются в 8-битной кодировке.
Если не предпринимать специальных мер, то и отображаться они будут из первых 256 символов (глифов) шрифта.
Для того, что бы отображался все-таки правильный текст, в спецификацию шрифта в pdf добавляется таблица различий (Differences), в которой записывается, что такому-то коду символа в тексте будет соответствовать такое-то имя глифа в файле шрифта
Выглядит это, приблизительно, так
Code:
/Differences [ 128 /Euro 157 /overscore 170 /Rcedilla 181 /mu1 186 /rcedilla 192 /Aogonek/Iogonek/Amacron]
В коде в Аксапте эта таблица строится по данным самого шрифта (на основании кодировки, которую вы установили BALTIC_CHARSET) в методе GetDifferences().

В файле, который вы выложили, такая таблица тоже присутствует, но вот для символов, которые отображаются неверно, соответствия нет. По какой-то причине, в таблице соответствия глифов в шрифте не прописаны символы ccaron, scaron, zcaron

Но можно попробовать модифицировать этот метод, что бы необходимые соответствия все-таки попали в файл.
Надо добавить следующий код
X++:
for (l=128-firstChar;l<lastChar-firstChar+1;l++)
{
    ... 
}
//Добавляем здесь -->
if (charSet == #BALTIC_CHARSET && Differences)
    Differences += " 200 /uni010C 208 /uni0160 222 /uni017D 232 /uni010D 240 /uni0161 254 /uni017E";
//Добавляем здесь <--
return true;
На выходе должен получиться файл, как во вложении
Angehängte Dateien
Dateityp: pdf AxaptaReport1.pdf (630,1 KB, 369x aufgerufen)
__________________
Axapta v.3.0 sp5 kr2
This post has been rated by: raz (10), S.Kuskov (10).
Alt 12.12.2012, 10:13   #42  
Rimantas ist offline
Rimantas
Участник
 
304 / 16 (1) ++
Registriert seit: 30.04.2004
Ort: Utena , Lithuania
Zitat:
Zitat von AndyD Beitrag anzeigen
Надо добавить следующий код
X++:
for (l=128-firstChar;l<lastChar-firstChar+1;l++)
{
    ... 
}
if (charSet == #BALTIC_CHARSET && Differences)
    Differences += " 200 /uni010C 208 /uni0160 222 /uni017D 232 /uni010D 240 /uni0161 254 /uni017E";
return true;
На выходе должен получиться файл, как во вложении
Ваууу ! Большое спасибо Анди ! Все получилось ! Великолепное решение !
Stichworte
download, faq, pdf, законченный пример, отчет, полезное

 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Печать самих файлов PDF Владимир Максимов DAX: База знаний и проекты 9 17.08.2017 10:34
Печать нескольких экземпляров отчета по умолчанию. bum DAX: Функционал 3 17.06.2008 10:42
Двухсторонняя печать отчета Shirmin Oleg DAX: Программирование 6 18.10.2007 10:08
Печать отчетов, как увеличить масштаб отчета? Hidden DAX: Прочие вопросы 8 30.12.2005 10:55
Печать в PDF GeorgeVk DAX: Прочие вопросы 3 06.08.2004 17:09

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 18:53 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.