为什么我在delphi2006中用quickreport组件时,将报表导出为pdf时,中文字有重叠的地方,而数字和字母很正常!怎么设置两个字符之间的距离,有人用过吗???急急

解决方案 »

  1.   

    定义成WideString 试试...
      

  2.   

    在打印出来和预览的时候都正常的,就是生成的pdf不正常。我想知道怎么改quickreport中的QRpdffilt.pas中的代码。我想应该是这个控件本来就没有设置好!有哪个高手能弄出个正确的吗?你们也可以试一下,看是不是跟我说的一样呀
      

  3.   

    D2006还没有试过,先看看会不会有什么宽字节或东亚文字之类的属性可选,再有就是有可能这个QReport控件的PDF转换功能本身对中文字支持不太好
      

  4.   

    我用的一个笨办法:sWidth='';
    for i:=0 to 255 do
      sWidth=sWidth+' 1024';
    PDFDocumentFilter1.AddCustomWidths('SimSun', sWidth);
    rpt.ExporttoFilter(PDFDocumentFilter1);这样可以保证输出的字符宽度,但是不方便的是必须指定字体名称,如果你换过一种中文字体,就需要修改程序。:-(
      

  5.   

    谢谢wjowner(Jerry.W),我加了你上面的代码,一部分字体显不成功了,但其它一样字体的,但加粗的、大一点的字依然显示不正常!怎么回事?
      

  6.   

    忠心感谢 wjowner(Jerry.W),在你的提示下,我加了如下代码,已经正功的导出了PDF,所有的中文字已经显示成功了。  for i:=0 to 255 do
          sWidth:=sWidth+' 1024';
          AFilter.AddCustomWidths('宋体', sWidth);
          AFilter.AddCustomWidths('宋体,bold', sWidth);
          AFilter.AddCustomWidths('楷体_GB2312', sWidth);结帖^:^