Pdf.AddText('测试中文abcd', 'Arial', 20, 70, 50);//生成的pdf中文乱码
盒子论坛 v2.1 (2ccc.com)的dbyoung给出的解决方案:
将 TPdf.AddText 函数中:
TextObject:=FPDFPageObj_NewTextObj(Document,FPDF_BYTESTRING(AnsiString(Font)),FontSize); 注释掉,修改为: fontStream:= TMemoryStream.Create; fontStream.LoadFromFile('c:\Windows\fonts\simhei.ttf'); // 宋体字体文件名称 dFont:=FPDFText_LoadFont(Document,fontStream.Memory,fontStream.Size,FPDF_FONT_TRUETYPE,1); TextObject:=FPDFPageObj_CreateTextObj(Document, dFont, FontSize);
就可以正常输出中文了。