c++ haru生成pdf输出文本实例

haru是一个开源的生成pdf的库,花时间终于编译成功,以下是一个特别简单的写文本的实例:

#include "hpdf.h"

void CDemoDlg::OnBnClickedOk()

{

HPDF_Error_Handler error_handler = NULL;

HPDF_Doc pdf;

pdf = HPDF_New(error_handler, NULL);

if (!pdf)

{

}

HPDF_SetCompressionMode(pdf, HPDF_COMP_ALL);

HPDF_SetPageMode(pdf, HPDF_PAGE_MODE_USE_OUTLINE);

HPDF_Page page;

page = HPDF_AddPage(pdf);

HPDF_Page_SetSize(page, HPDF_PAGE_SIZE_A4, HPDF_PAGE_PORTRAIT);

CString str_Showtxt;

HPDF_Page_BeginText(page);

HPDF_Font font;

HPDF_UseCNSFonts(pdf);

HPDF_UseCNSEncodings(pdf);

font = HPDF_GetFont(pdf, "SimSun", "GB-EUC-H");

HPDF_Page_SetFontAndSize(page, font, 24);

HPDF_Page_MoveTextPos(page, HPDF_Page_GetWidth(page) / 4+60, HPDF_Page_GetHeight(page) - 40);

HPDF_Page_ShowText(page, "xxx检测结果");

HPDF_Page_EndText(page);

HPDF_SaveToFile(pdf, "test.pdf");

HPDF_Free(pdf);

}

生成的结果如下:

相关推荐
纪元A梦2 分钟前
华为OD机试真题——绘图机器(2025A卷:100分)Java/python/JavaScript/C++/C/GO最佳实现
java·javascript·c++·python·华为od·go·华为od机试题
huangyuchi.1 小时前
【C++11】Lambda表达式
开发语言·c++·笔记·c++11·lambda·lambda表达式·捕捉列表
什么半岛铁盒1 小时前
Linux线程与进程:探秘共享地址空间的并发实现与内
linux·c++
智践行2 小时前
ROS2 Jazzy:创建自定义的消息和服务接口(C++)
c++·操作系统
Maple_land2 小时前
C++初阶——string的模拟实现(上)
c++
今晚打老虎2 小时前
c++弹窗
开发语言·c++
虾球xz3 小时前
游戏引擎学习第240天:将渲染器移至第三层
c++·学习·游戏引擎
muzi_liii3 小时前
认识哈希以及哈希表的模拟实现
c++·哈希算法
The Chosen One9853 小时前
C++:类和对象(上)---镜中万象:C++类的抽象之境与对象的具体之象
开发语言·c++
zyx没烦恼3 小时前
线程池&&单例模式
linux·开发语言·c++·单例模式