标签:
我们先创建一个项目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文件,打开如下:
全文完!
标签:
原文地址:http://www.cnblogs.com/hnlzj/p/4331190.html