DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: KfnqDuxw
今日帖子: 8
在线用户: 5
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 xxhadsg (garfield) ★☆☆☆☆ -
盒子活跃会员
2010/4/3 19:44:48
标题:
FastReport脚本编辑中中文支持问题和pdf中文输出问题 浏览:6137
加入我的收藏
楼主: FastReport脚本编辑中如果有中文,则会出现光标指示不正确问题,大家有没有遇到这个问题?有什么解决办法?
PDF中文输出也有问题,设置好中文字体后输出也不行,用pdf文件的old版本也不行,网上的贴子有关于3.X版本的,不知道4.X版本的大家有没有可以使用的?

我试过4.8.7和4.9.35

谢谢!
----------------------------------------------
这个世界上还有很多比钱更重要的东西,比如说意大利面---加菲猫
作者:
男 xxhadsg (garfield) ★☆☆☆☆ -
盒子活跃会员
2010/4/4 12:06:10
1楼: 自己反复测试,pdf输出中文有问题,设置成Arial和宋体都没有成功(好像有人成功),我测试;选择Arial Unicode MS后输出pdf没有问题了.这有点限制,不知道有没有朋友有更好的更彻底的解决办法.(楷体也可以)
----------------------------------------------
这个世界上还有很多比钱更重要的东西,比如说意大利面---加菲猫
作者:
男 xjia (xjia) ★☆☆☆☆ -
盒子活跃会员
2010/4/5 15:54:13
2楼: 还是老问题,保存PDF字体时字体名编码错误,和2.x/3.x时一样的错误,修正其实很简单。

用下面的替换 TfrxPDFFont.GetFontName: AnsiString 中的同名函数

  function HexEncode7F(Str: WideString): AnsiString;
  var
    s: AnsiString;
    // add by ijia 2010-04-05
    t: AnsiString;
    Index, Len: Integer;
  begin
    s := '';
    // add by ijia 2010-04-05
    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;


BTW:
最新版(我测试用的是4.9.38)的PDF输出汉字好象会以图片方式保存到PDF文件中,只要在PDF阅读器中放大就能看出来,以前版本好象没这问题。
----------------------------------------------
-
作者:
男 xjia (xjia) ★☆☆☆☆ -
盒子活跃会员
2010/4/5 16:03:22
3楼: 好象报表中超过一种以上字体就会把使用某种字体的MEMO的文字保存成图片
----------------------------------------------
-
作者:
男 coolslob (coolslob) ★☆☆☆☆ -
盒子活跃会员
2010/4/5 16:26:34
4楼: 还有导出pdf窗口文字错误。
此帖子包含附件:
JPEG 图像
大小:34.3K
----------------------------------------------
-
作者:
男 xxhadsg (garfield) ★☆☆☆☆ -
盒子活跃会员
2010/4/6 8:48:51
5楼: to:xjia
非常感谢,我测试了一下,可以了,只不过Arial字体还是无法正常显示,不过影响不大了,宋体能正常就基本可以了.
再次谢谢!  :-)

to:coolslob
转一个贴给你可以解决:

FastReport 4.9.20 中文菜单显示不全或者乱码解决方法2010-03-06 22:38可以自己编译一个frcc.exe,替换Res目录下的,然后再recompile即可。  delphi 2010(update5)测试界面都正常。

用delphi 2010建立一个console工程,名称为frcc,代码如下:
program frcc;
{$APPTYPE CONSOLE}
uses
   SysUtils,
   Classes,
   StrUtils;
var
   xml: string;
   list: TStringList;
   i: Integer;
   fileName : string;
   lineWidth: integer;
   line: string;
begin
   try
if ParamCount < 1 then
begin
   Writeln('no input');
   Exit;
end;
xml := ParamStr(1);
fileName := ExtractFileName(xml);
fileName := Copy(fileName, 1, Length(fileName) - 4); //delete ext .xml
list := TStringList.Create();
list.LoadFromFile(xml, TEncoding.UTF8);
xml := list.Text;
list.Clear;
list.Add('unit ' +   fileName + ';');
list.Add('');
list.Add('interface');
list.Add('{$I frx.inc}');
list.Add('implementation');
list.Add('uses frxRes;');
list.Add('const resXML =');
xml := ReplaceText(xml, #13, '');
xml := ReplaceText(xml, #10, '');
i := 1;
while True do
begin
   if (i + 80) < (Length(xml) + 1) then
       lineWidth := 80
   else
       lineWidth := Length(xml) + 1 - i;
   if lineWidth = 0 then
       break;
   line := Copy(xml, i, lineWidth);
   list.Add(QuotedStr(line) + '+');
   i := i + lineWidth;
end;
list.Add(''''';');
list.Add('initialization');
list.Add('   frxResources.AddXML(Utf8Encode(resXML));');
list.Add('');
list.Add('end.');
list.SaveToFile(ChangeFileExt(ParamStr(1), '.pas'), TEncoding.Default);
list.Free;
   except
on E:Exception do
   Writeln(E.Classname, ': ', E.Message);
   end;
end.
----------------------------------------------
这个世界上还有很多比钱更重要的东西,比如说意大利面---加菲猫
作者:
男 xjia (xjia) ★☆☆☆☆ -
盒子活跃会员
2010/4/6 9:31:53
6楼: 我用2010测试 Arial 字体没有问题,可以正常导出显示。
FR4.9.38在D7/D2010中有时会某种字体在设计时能显示,在打印预览中确无法显示,当然也无法导出到PDF文件中。

测试见附件
此帖子包含附件:
PNG 图像
大小:18.4K
----------------------------------------------
-
作者:
男 coolslob (coolslob) ★☆☆☆☆ -
盒子活跃会员
2010/4/6 18:47:43
7楼: 谢谢xjia!
按你的方法解决问题。
----------------------------------------------
-
作者:
男 xxhadsg (garfield) ★☆☆☆☆ -
盒子活跃会员
2010/4/6 18:53:46
8楼: 谢谢xjia   :-)
我换成4.9.35(没有4.9.38),Arial 字体好像还是不行(设计和预览都没有问题),不知道问题出在了什么地方.
我用的是win7,win7下有Arial Unicode MS和Arial,也可能和这个有关,Arial Unicode MS可以正常显示.不知道xjia测试中是不是也有这么两种字体.换到XP下只有Arial字体,测试还是不能正常显示.  ;-(
----------------------------------------------
这个世界上还有很多比钱更重要的东西,比如说意大利面---加菲猫
作者:
男 xjia (xjia) ★☆☆☆☆ -
盒子活跃会员
2010/4/7 12:16:18
9楼: 回楼上,你这个问题没办法了
见6楼的回复,我测试也碰到过这情况,第一次用设计报表时可以显示的,关闭设计器后,再打开设计器就不显示了;有时是在设计模式下是正常的,但程序运行时就不显示。很奇怪,不知道怎么解决。

你修改完后,把FR的DPK都重新编译一下,看看有用不。

我还在用D7+FR4.7的,没用最新版,PDF字体的问题照我说的那个方法改肯定没问题。

我的OS是WIN2K3的
----------------------------------------------
-
作者:
男 xxhadsg (garfield) ★☆☆☆☆ -
盒子活跃会员
2010/4/7 19:35:42
10楼: 还是谢谢xjia,我至少解决了宋体的显示,这个基本就足够了,估计可能还是和具体的OS环境和IDE环境有关
非常感谢!
----------------------------------------------
这个世界上还有很多比钱更重要的东西,比如说意大利面---加菲猫
作者:
男 peliao (国家电位) ★☆☆☆☆ -
盒子活跃会员
2010/4/7 23:25:58
11楼: h
----------------------------------------------

3291763
作者:
男 nevergrief (孤独骑士) ★☆☆☆☆ -
盒子活跃会员
2012/4/20 22:18:03
12楼: Arial字体不错,能在FastReport里显示一些特殊字符,New Times Rome就是有问题。
----------------------------------------------
只有偏执狂才能生存!
作者:
女 baoqi_zhu (baoqi_zhu) ★☆☆☆☆ -
普通会员
2012/11/27 16:40:56
13楼: FastReport导出中文PDF时,出现乱码,是因为FastReport报表中的中文要用双字节字体,这样才不会成为乱码。原文链接分享给大家:http://www.fastreportcn.com/FAQ/201.html
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行121.0938毫秒 RSS