2024年1月31日发(作者:)
C++ Builder利用PDFLib生成PDF文档
2012-04-09 10:24:54| 分类: C++Builder编程 | 标签:pdf |举报 |字号大中小 订阅
一、PDF介绍
PDF是Portable Document Format的缩写,PDF文件格式是国际通用的电子文档交换事实标准,被许多国家采用作为电子文档交换。PDF文件可以在各种平台下阅读、编辑、发布。该文件格式支持字体、图像、甚至任何附件的嵌入。您可以通过免费的Adobe Acrobat Reader来阅读、编辑PDF文档。
二、PDFLib介绍
PDFLib是用于创建PDF文档的开发库,提供了简单易用的API,隐藏了创建PDF的复杂细节且不需要第3方软件的支持。PDFLib库对于个人是免费的,对于商业产品需要购买许可, 您可以到VC知识库的工具与资源栏目下载:/tools/。
三、在VC++中使用PDFLib
本文例子中使用的PDFLib是4.0.2版本,与5.0版本差不多。5.0免费版本中有一个的水印,4.0中没有。
3.1 前期准备
建立工程后,将,except.h,,pdflib.h,,拷贝到工程目录。
3.2 编码
3.2.1 添加对头文件和库的引用
#include ""
#pragma comment(lib, "")
3.2.2生成PDF文档的过程
生成PDF文档的过程非常简单,请看如下编码:int main(void)
{
try
{
PDFlib pdf;
// 设置兼容参数
_parameter("compatibility", "1.4"); // 兼容Acrobat 5
// 打开文档
if(("") == -1)
throw("打开文件出错!");
// 设置文档信息
_info("Creator", "PDF Creator");
_info("Author", "WangJun");
_info("Title", "Convert to PDF");
_info("Subject", "PDF Creator");
_info("Keywords", "");
// 开始A4页面
_page(a4_width, a4_height);
// 设置字体为12号宋体
int font_song = nt("STSong-Light", "GB-EUC-H", 0);
t(font_song, 12);
// 设置起始点
_text_pos(50, a4_height - 50);
// 设置颜色为蓝色
or("fill", "rgb", 0, 0, 1, 0);
// 输出文字
("欢迎您!");
or("fill", "rgb", 0, 0, 0, 0);
t(font_song, 24);
ue_text("在线杂志");
// 画两根绿线
or("stroke", "rgb", 0.24f, 0.51f, 0.047f, 0);
(50, a4_height - 80);
(a4_width - 50, a4_height - 80);
(50, a4_height - 78);
(a4_width - 50, a4_height - 78);
();
// 填充一个蓝色方框
or("fill", "rgb", 0.04f, 0.24f, 0.62f, 0);
(50, 50, a4_width - 100, 70);
();
// 在指定位置输出文字
or("fill", "rgb", 0, 1, 1, 0);
t(font_song, 16);
_xy("版权所有 VCKBASE", a4_width - 280, 60);
// 打开并显示一个图像
int img = _image_file("jpeg", "", "", 0);
_image(img, 200, 400, 1);
_image(img);
// 添加附件
_file(a4_width - 50, 0, 0, a4_height - 150,
"", "VCKBASE", "wj", "zip", "paperclip");
// 结束本页
_page();
// 关闭PDF文件
();
}
catch(PDFlib::Exception &ex)
{
cerr << "错误信息:" << _message() << endl;
return -1;
}
catch(char *pStrErr)
{
cerr << pStrErr << endl;
return -1;
}
catch(...)
{
cerr << "发生未知异常!" << endl;
return -1;
}
return 0;
}
PDFLIB还有许多功能,比如书签、PDF导入等功能,具体可以参考PDFLIB函数手册(可以到VC知识库中下载pdflib5.0,里面包含了该手册)。


发布评论