PDFlib是一款PDF开发工具,主要用来创建PDF文档的开发库,提供简单的API,可以帮助用户创建PDF文档,添加文本、矢量图形、图像和超文本元素等,并且提供强大的格式化功能,实现PDF的多种功能。
软件功能
1、PDFlib可被直接集成到生成数据的应用程序中。
2、这一直接简单的方法意味着,PDFlib 是生成 PDF 的最快方法,完全适用于 Web。
3、PDFlib 的多线程安全及其可靠内存和错误处理可支持实现高性能的服务器应用程序。
4、PDFlib 可用于多种操作系统和开发环境。
5、PDFlib 包含创建 PDF 输出(包括文本、矢量图形和图像以及超文本元素)所必需的所有函数。 PDFlib 为放置单行或多行文本、图像和创建表提供了强大的格式化功能。
6、PDFlib+PDI 包括所有 PDFlib 函数,以及用于在输出的文件中嵌入现有的 PDF 文档页PDF 输入库 (PDI),及用于查询导入文档中任意 PDF 对象(例如列出页面上的所有字体、查询元数据等等)的 pCOS 接口。
7、PDFlib Personalization Server (PPS) 包括 PDFlib+PDI 以及用于自动填充 PDFlib 块的附加函数。块是页上的占位矩形,可以用文本、图像或 PDF 页进行填充。可以使用适用于Adobe Acrobat (Mac 或 Windows)的 PDFlib 块插件交互式创建块,并使用 PPS 自动进行填充。该插件包含在 PPS 中。
使用教程
1、前期准备
建立工程后,将except.cpp,except.h,pdflib.cpp,pdflib.h,pdflib.dll,pdflib.lib拷贝到工程目录。
2、 编码
1. 添加对头文件和库的引用
#include "PDFLib.hpp"
#pragma comment(lib, "PDFLib.lib")
2.生成PDF文档的过程
生成PDF文档的过程非常简单,请看如下编码:int main(void)
{
try
{
PDFlib pdf;
// 设置兼容参数
pdf.set_parameter("compatibility", "1.4"); // 兼容Acrobat 5
// 打开文档
if(pdf.open("vckbase.pdf") == -1)
throw("打开文件出错!");
// 设置文档信息
pdf.set_info("Creator", "PDF Creator");
pdf.set_info("Author", "WangJun");
pdf.set_info("Title", "Convert to PDF");
pdf.set_info("Subject", "PDF Creator");
pdf.set_info("Keywords", "vckbase.com");
// 开始A4页面
pdf.begin_page(a4_width, a4_height);
// 设置字体为12号宋体
int font_song = pdf.findfont("STSong-Light", "GB-EUC-H", 0);
pdf.setfont(font_song, 12);
// 设置起始点
pdf.set_text_pos(50, a4_height - 50);
// 设置颜色为蓝色
pdf.setcolor("fill", "rgb", 0, 0, 1, 0);
// 输出文字
pdf.show("VCKBASE.COM欢迎您!");
pdf.setcolor("fill", "rgb", 0, 0, 0, 0);
pdf.setfont(font_song, 24);
pdf.continue_text("在线杂志");
// 画两根绿线
pdf.setcolor("stroke", "rgb", 0.24f, 0.51f, 0.047f, 0);
pdf.moveto(50, a4_height - 80);
pdf.lineto(a4_width - 50, a4_height - 80);
pdf.moveto(50, a4_height - 78);
pdf.lineto(a4_width - 50, a4_height - 78);
pdf.stroke();
// 填充一个蓝色方框
pdf.setcolor("fill", "rgb", 0.04f, 0.24f, 0.62f, 0);
pdf.rect(50, 50, a4_width - 100, 70);
pdf.fill();
// 在指定位置输出文字
pdf.setcolor("fill", "rgb", 0, 1, 1, 0);
pdf.setfont(font_song, 16);
pdf.show_xy("版权所有 VCKBASE", a4_width - 280, 60);
// 打开并显示一个图像
int img = pdf.open_image_file("jpeg", "vckbase.jpg", "", 0);
pdf.place_image(img, 200, 400, 1);
pdf.close_image(img);
// 添加附件
pdf.attach_file(a4_width - 50, 0, 0, a4_height - 150,
"vckbase.zip", "VCKBASE", "wj", "zip", "paperclip");
// 结束本页
pdf.end_page();
// 关闭PDF文件
pdf.close();
}
catch(PDFlib::Exception &ex)
{
cerr << "错误信息:" << ex.get_message() << endl;
return -1;
}
catch(char *pStrErr)
{
cerr << pStrErr << endl;
return -1;
}
catch(...)
{
cerr << "发生未知异常!" << endl;
return -1;
}
return 0;
}
软件评论 您的评论需要经过审核才能显示
网友评论