MFC使用Haru free pdf lib生成pdf文件

我们先创建一个项目MFCPDFDemo,在上面添加一个编辑框和一个按钮:

haru free pdf类库下载地址

这里直接下载dll,如果想以静态库的方式使用,得下载源码自己编译。
然后把这个dll添加到项目中,怎么添加就不说了吧,还是说一下吧,万一有新手看不懂呢。
解压后我们要用到三个东西:
libhpdf.dll
libhpdf.lib
include整个文件夹
解压后复制libhpdf.dll到项目的release和debug目录下;
libhpdf.lib和include文件夹直接复制到源文件目录下;

在MFCPDFDemoDlg.cpp里添加下面两句:

#include "include/hpdf.h"#pragma comment(lib, "libhpdf.lib")

在按钮的处理函数里添加代码如下:

void CMFCPDFDemoDlg::OnBnClickedBtnSave()
{UpdateData(TRUE);const char *page_title = "这个标题居中显示";HPDF_Doc  pdf;HPDF_Font font;HPDF_Page page;char fname[256];strcpy (fname, "E:\\");strcat (fname, CT2A(m_strPath));strcat (fname, ".pdf");pdf = HPDF_New (nullptr, nullptr);if (!pdf){MessageBox(_T("error: cannot create PdfDoc object\n"));return;}/* set compression mode */HPDF_SetCompressionMode (pdf, HPDF_COMP_ALL);HPDF_STATUS status;HPDF_UseCNSFonts(pdf);HPDF_UseCNSEncodings(pdf);/* create default-font */font = HPDF_GetFont (pdf, "SimSun", "GB-EUC-H");/* add a new page object. */page = HPDF_AddPage (pdf);status = HPDF_Page_SetFontAndSize (page, font, 24);float tw = HPDF_Page_TextWidth (page, page_title);status = HPDF_Page_BeginText (page);status = HPDF_Page_TextOut (page, (HPDF_Page_GetWidth(page) - tw) / 2,HPDF_Page_GetHeight (page) - 50, page_title);status = HPDF_Page_EndText (page);/* save the document to a file */HPDF_SaveToFile (pdf, fname);/* clean up */HPDF_Free (pdf);
}

添加完代码后编译程序,如果提示strcpy不安全就添加编译选项:

注意,添加的选项是/D _CRT_SECURE_NO_WARNINGS

之后编译运行,输入test,点击保存pdf:

之后在E:下就可以找到test.pdf文件,打开如下:

全文完!

转载于:https://www.cnblogs.com/hnlzj/p/4331190.html

MFC使用Haru free pdf lib生成pdf文件相关推荐

  1. python pdf报告_Python实现html转换为pdf报告(生成pdf报告)功能示例

    本文实例讲述了Python实现html转换为pdf报告(生成pdf报告)功能.分享给大家供大家参考,具体如下: 1.先说下html转换为pdf:其实支持直接生成,有三个函数pdfkit.f 安装pyt ...

  2. python数据生成pdf,Python生成pdf文件的方法

    摘要:这篇Python开发技术栏目下的"Python生成pdf文件的方法",介绍的技术点是"python生成pdf文件.python生成pdf.生成pdf文件.Pytho ...

  3. java 制作pdf模板,Java-pdf模板制作流程-使用pdf 模板生成pdf文件

    Java 使用pdf 模板生成pdf文件 --制作流程 1.      使用工具 adobe acrobat dc.word 2015 2.      使用 word 繪制一個 3*5 的表格並保存, ...

  4. itextpdf通过pdf模板生成pdf文件

    itextpdf通过pdf模板生成pdf文件,设置粗体字体 1.创建pdf模板 2.使用模板生成pdf 3.itext自带的字体列表 4.遇到的坑 1.创建pdf模板 可以使用PDFFescape网站 ...

  5. Haru Free PDF Library——生成PDF的库

    PDF是我们极其常用的文件格式,但对如何生成PDF,个人一直觉得很神秘,其实利用一些公开的PDF库,我们就可以直接生成PDF文件,而不用关注PDF文件的内部细节.我知道的PDF库有如CARIO和HAR ...

  6. java 其他文件转pdf_java 其他文件转成pdf java生成pdf

    java生成pdf需要用到的包pd4ml.jar 下载地址:http://download.csdn.net/detail/yanning1314/7124741 package com.cular. ...

  7. android手机生成pdf格式文件,Android根据pdf模板生成pdf文件

    1 public voidFillPdfTemplate(String id) {2 android.icu.text.SimpleDateFormat simpleDateFormat = 3 ne ...

  8. android程序更改pdf文件格式,Android根据pdf模板生成pdf文件

    1 public voidFillPdfTemplate(String id) {2 android.icu.text.SimpleDateFormat simpleDateFormat = 3 ne ...

  9. (三)、IText通过pdf模板生成pdf文件(可用做回执单等功能)

    一.首先制作一个pdf模板 先用word做出个模板界面, 文件另存为pdf格式文件 通过Adobe Acrobat DC软件打开刚刚用word转换成的pdf文件步骤:文件->创建->创建表 ...

最新文章

  1. 基于三维点云数据的主成分分析方法(PCA)的python实现
  2. SAP SD基础知识之信用风险管理概述
  3. 开发日记-20190602 关键词 读书笔记《鸟哥的Linux私房菜-基础学习篇》
  4. 54. Leetcode 113. 路径总和 II (二叉树-二叉树路径和)
  5. 计算机英语四六级对调剂有影响吗,英语四六级对考研有什么影响?不过会被歧视吗?...
  6. 服务器端的根目录放置文件,放置在网站根目录下
  7. 钟 docker讲解
  8. Sublime Text 4.0 4102 安装插件的问题
  9. 如何对工业交换机端口进行调试?
  10. LeetCode 886. 可能的二分法(着色DFS/BFS/拓展并查集)
  11. 运营九年,这款音乐手游宣布停服!将从应用商店下架...
  12. Android 源码分析(三) Service 启动分析
  13. html出现滚动条页面闪动,CSS3 calc实现滚动条出现页面不跳动闪动
  14. [debug] Expected to have finished reduction in the prior iteration before starting a new one.
  15. 数据仓库分层及模型设计
  16. VMware卸载后再安装提示无法打开注册表项 UNKNOWN\Components\…解决办法
  17. 内网代理——常用工具
  18. nature:2021年最值得关注的技术
  19. csgo单板透视距离绘制代码
  20. 户用光伏数字化解决方案

热门文章

  1. #define可能是个“渣男”
  2. 推荐系统_各种方法的损失计算过程
  3. horizon服务主要模块_Horizon组件安装详解 - 远程连接OpenStack服务
  4. openwrt 配置WAN 和 LAN
  5. 总结项目笔记Demo
  6. world quant global alphathon 全球总决赛 第二名经验分享
  7. 计算机网络——域名系统(DNS)
  8. MA模型自协方差证明
  9. python怎么改字体大小_如何使用python在excel中更改字体大小
  10. mysql 处理字符串 减断,MySQL字符串处理[8题]