您的位置:首页 > 其它

完美解决FastReport3和FastReport4导出PDF文件乱码

2012-10-24 10:56 501 查看
用下面的替换文件frxExportPDF.pas中的TfrxPDFFont.GetFontName: AnsiString 中的同名函数即可。

将原代码:

function HexEncode7F(Str: WideString): AnsiString;

var

s: AnsiString;

Index, Len: Integer;

begin

s := '';

Len := Length(Str);

Index := 0;

while Index < Len do

begin

Index := Index + 1;

if Byte(Str[Index]) > $7F then

s := s + '#' + AnsiString(IntToHex(Byte(Str[Index]), 2))

else

s := s + AnsiString(Str[Index]);

end;

Result := s;

end;

替换为以下代码:

function HexEncode7F(Str: WideString): AnsiString;

var

s: AnsiString;

t: AnsiString;

Index, Len: Integer;

begin

s := '';

t := Str;

Len := Length(t);

Index := 0;

while Index < Len do

begin

Index := Index + 1;

if Byte(t[Index]) > $7F then

s := s + '#' + AnsiString(IntToHex(Byte(t[Index]), 2))

else

s := s + AnsiString(t[Index]);

end;

Result := s;

end;

标签:Delphi, FastRepot

另中文的字字体要用中文的字体,比如宋体就可以正常导出了。

改完之后要记得更新frxExportPDF.dcu有的时候原代码和用的地方不一样的

转自:http://hi.baidu.com/esocu/item/cb7e14f69286852e753c4c5d
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: