2012-03-02 5 views
0

요약을 사용하여 PDF에 서명 표시 : * 는 PDF *유로는 XSLT 1.0

내가 XSLT를 수행하기 위해 닷넷 프레임 워크 (4.0)의 XslCompiledTransform 클래스를 사용하고 있습니다에 € 기호를 표시해야합니다. XSL에서 사용되는 글꼴 패밀리는 Times New Roman입니다. 내 XSL-FO 프로세서로 FO.Net을 사용하고 있습니다.

입력 XML의 일부인 유로 기호 (€)를 표시하려고합니다. 그러나, 내 출력 pdf는 €을 € 기호 대신 표시합니다. 내가 €€를 사용하려고했습니다

<?xml version="1.0" encoding="iso-8859-15"?> 

하지만이를 사용하는 경우, 아무것도 전혀 표시되지 않습니다 :

<CurrencySymbol> 
€ 
</CurrencySymbol> 

내 XSL 파일의 관련 부분의 일부는

입니다.

예 : 어떤 도움과 시간에 대한 <xsl:value-of select="'&#x20AC;'"/>

감사합니다! 추가 정보가 필요한지 알려주십시오.

+0

어떤 FO 프로세서를 사용하고 있습니까? –

+0

설명이 업데이트되었습니다. 감사! – m27

+0

ISO-8859-15 유로 문자가 0xA4 인 것처럼 보이므로 출력 인코딩이 있다면 & # x20AC; 대신 ¤을 입력 해보십시오. – Pawel

답변

0

같은 문제가 발생했습니다. 문제는 FONET.DLL에서 하드 코드됩니다.

public override ushort MapCharacter(char c) 
{ 
    if (c > Byte.MaxValue) 
     return (ushort) FirstChar; 
    return mapping.MapCharacter(c); 
} 

그래서보다 큰 255 "무시"됩니다 값이 모든 문자 : 클래스에서 TrueTypeFont 방법 MapCharacter는 다음과 같이 기록됩니다. 나는 (https://fonet.codeplex.com/에서) 소스를 다운로드에 방법을 수정 :이 새로운 방법이 라이브러리를 사용하여

public override ushort MapCharacter(char c) 
{ 
    return mapping.MapCharacter(c); 
} 

, 유로 심볼 마술 볼되었다!

관련 문제