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

server/2025/1/14 17:45:28/

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);
}
 

生成的结果如下:


http://www.ppmy.cn/server/158342.html

相关文章

docker run一个镜像如何指定最大可使用的内存大小、cpu大小

在 Docker 中,你可以通过 --memory 和 --cpus 参数来指定容器的最大内存和 CPU 限制。这样可以确保容器不会超出特定的资源限制,从而避免影响主机的其他进程。 1. 限制内存(--memory) 通过 --memory 或 -m 参数,你可…

Moq与xUnit在C#单元测试中的应用

一、引言:开启单元测试的魔法之旅 嘿,亲爱的编程小伙伴们!👋 在软件开发的奇妙世界里,有一项神奇的技术,能为我们的代码保驾护航,让开发过程如虎添翼,那便是单元测试。它宛如给代码…

浅谈云计算07 | 云安全机制

浅谈云计算安全机制:全方位守护云端世界 一、引言二、加密技术:数据的隐形护盾三、散列机制:数据完整性的忠诚卫士四、数字签名:数据来源与真伪的鉴定专家五、公钥基础设施(PKI):信任的基石六、…

WordEmbeddingPositionEmbedding

文章目录 1. Word Embedding2. Position Embedding3. python 代码 1. Word Embedding 根据矩阵序列实现在nn.Embedding中抽取制定的行作为词向量,长度不同时,自动填充到统一长度 2. Position Embedding 3. python 代码 import torch import torch.nn …

51单片机入门基础

目录 一、基础知识储备 (一)了解51单片机的基本概念 (二)掌握数字电路基础 (三)学习C语言编程基础 二、开发环境搭建 (一)硬件准备 (二)软件准备 三、…

Python----Python基础(字符串,列表,元组,字典,集合的总结)

一、字符串 str,基本用法:拼接,复制,长度,索引,切片,查找,替换,大小写转化,去除空格,填充,分割,判断,可变字符…

STM32-Flash存储

目录 1.0 闪存模块组织 2.0 Flash基本结构 3.0 Flash解锁 4.0 指针访问存储器地址 5.0 程序存储器编程 6.0 选项字节 7.0 选项字节编程 8.0 选项字节擦除 9.0 电子签名 10.0 手册解读 定义: STM32F1系列的FLASH包含程序存储器、系统存储器和选项字节三个部…

飞凌嵌入式i.MX8M Mini核心板已支持Linux6.1

飞凌嵌入式FETMX8MM-C核心板现已支持Linux6.1系统,此次升级不仅使系统功能更加丰富,还通过全新BSP实现了内存性能的显著提升。 基于NXP i.MX8M Mini处理器设计开发的飞凌嵌入式FETMX8MM-C核心板,拥有4个Cortex-A53高性能核和1个Cortex-M4实时…