foxit pdfium怎么往pdf文件里写入文字,尤其是汉字

bwsoft1 2020-07-10 02:09:52
InitPdfDll(GetCurrentPath+'pdfium.dll');
if SaveDialog1.Execute = false then Exit;
pdffn := SaveDialog1.FileName; //'C:\Users\lenovo\Desktop\test1.pdf';

txt :='abc123,sss哈是a';// +st.Text;//.Encode(edit1.text,IndyTextEncoding_UTF16LE); //'我日测试123abcd哈';

hpdfdoc := FPDF_CreateNewDocument; // FPDF_LoadDocument(pansichar(pdffn0), pansichar(''));//('C:\Users\lenovo\Desktop\PDFlib-manual-COM-dotNET-CS.pdf'); //FPDF_CreateNewDocument
try
hpdfpage := FPDFPage_New(hpdfdoc, 0, 700, 800); // FPDF_LoadPage(hpdfdoc, 1); //

ho := FPDFPageObj_NewTextObj(hpdfdoc,'Arial',20); //hpdfdoc,'SimSun',40

FPDFText_SetText(ho, PChar(txt));
FPDFPageObj_SetFillColor(ho, $FFFF0000);
FPDFPageObj_Transform(ho, 1, 0, 0, 1, 200, 200);
FPDFPage_InsertObject(hpdfpage, ho);


FPDFPage_GenerateContent(hpdfpage);
FPDF_ClosePage(hpdfpage);
hpdfpage:=0;
deletefile(PansiChar(pdffn));
if PdfSaveAs0(hpdfdoc, pdffn) = false then
raise exception.create('pdf文件保存失败');
showmessage('ok');
finally
FPDF_CloseDocument(hpdfdoc);
hpdfdoc:=0;
end;
这样啥也不显示,全部代码可以这里下http://www.dxmylove.com/download/foxitpdf.zip
...全文
1342 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
莫毅忆 2022-04-27
  • 打赏
  • 举报
回复

我想问下FPDFPageObj_NewTextObj这个定义在哪个文件中

yhgroup2006 2020-10-21
  • 打赏
  • 举报
回复
使用FPDFText_LoadFont加载字体文件可以实现,但这中字体会内嵌到pdf文件中导致文件较大。libharu支持压缩但pdfium不知道压缩如何实现。
如何使用系统字体而不嵌入,同时生成的文件在其它系统下没有对应字体能自动映射到另外中文字体还步清楚怎么实现。看了接口函数应该是调FPDF_AddInstalledFont。
bwsoft1 2020-07-10
  • 打赏
  • 举报
回复
就是hpdfdoc
p47655255 2020-07-10
  • 打赏
  • 举报
回复
ho := FPDFPageObj_NewTextObj(hpdfdoc,'Arial',20); //hpdfdoc,'SimSun',40
第一个参数应该是 page的句柄吧 hpdfpage

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧