Delphi下操作PDF文件的控件中我已经提到,iSEDQuickPDF是一个功能非常强的PDF操作控件。在使用这个控件的时候遇到的一个最大问题就是如何输出中文。经过摸索终于找到了解决的办法,与大家分享一下。
1、正文中带中文的情况
在iSEDQuickPDF的FAQ中介绍了一种方法,就是使用AddSubsettedFont函数,例如:
procedure TForm1.Button1Click(Sender: TObject);
var
 QP: TiSEDQuickPDF;
 s: 
string;
begin
 QP :
= TiSEDQuickPDF.Create;
 
try
   s :
= 'Hello 热情软件屋!';
   QP.AddSubsettedFont(
'宋体'10, s);
   QP.DrawText(
100500, QP.GetSubsetString(S));
   QP.SaveToFile(
'g:\test.pdf');
 
finally
   QP.Free;
 end;
end;
2、书签中带中文的情况
如果直接使用NewOutline函数添加中文书签,则最后显示的一定是乱码。要先使用ToPDFUnicode将中文转换为PDF中的Unicode格式才行,如:
QP.NewOutline(Integer(currentNode.Parent.Data),
                            QP.ToPDFUnicode(
"热情软件屋"), nPageNumber, 0)
posted on 2006-08-11 18:02  zealsoft  阅读(1775)  评论(3编辑  收藏  举报