


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、使用PDFLib生成PDF文档(C语言版)一使用指导1. 基本环境 打开、关闭、文档信息设定:新建PDFL让 对象,PDF_new()设定错误处理的方式,PDF_set_pdrdmeter(p, "errorpolicy", "return"), return标示当发生错误时直接从L让函数中返回。设定文档信息,PDF_set_value()新建一个 PDF 文件,PDF_begin_document ()新建一个页面,PDF_begin_page_ext ()关闭一个页面,PDF_end_page_ext ()关闭 PDF 文件,PDF_end_docu
2、ment ()释放 PDFLib 对象,PDF_delete()例外处理,PDF.TRY ()和 PDF.CATCH() 示例代码:#include <stdio. h>nclude "pdflib. h"int mdin(int drgc, char *argv)Example ();return 0;int Example(void)PDF *p;辻(p 二 PDF_new()二二(PDF *) 0) printf (/zCouldn,t create PDFlib object (out of memory) !/n/z);return (2);PDF.T
3、RY(p) /* This means we must check return values of load_font() etc */PDF_set_parameter(p, "errorpolicy", "returrT);if (PDF_begin_document(p, "d:/hello. pdf", 0,"”)二二-1) printf ("Error: %s/nz,, PDF_get_errmsg (p);return (2);/* This line is required to avoid problems
4、 on Japanese systems */ PDF_set_parameter(p, "hypertextencoding", "host");PDF_set_parameter(p, "fdkebold", "true");PDF_set_info(p, "Creator", "hello, c");PDF_set_info(p, "Author", "Thomas Merz");PDF_set_info(p, "Tit
5、le", "Hello, world (C)!");PDF_begin_page_ext(p, a4_width, a4_height, “");PDF_setcolor(p, "fill", "cmyk", 1, 0, 0, 0);PDF_rect (p, 250,250, 100, 50);PDF_fill(p);PDF_end_page_ext(p, “");PDF_end_document(p, “");PDF.CATCH(p) printf C'PDFlib exception
6、 occurred in sample:/n/z):printf C %d %s: %s/n,z,PDF_get_errnum(p), PDF_get_apiname(p), PDF_get_errmsg(p);PDF_delete(p);getchar ();return (2);PDF_delete(p);return 0;2. 文字输出 加载字体使用PDF_load_font ()函数。口前在Windows平台下,似乎只能加载可以安装到Windows系统中的字体。如果加载已经安装到系统中的字体(在C:/windows/fonts文件夹下),可以直接通过字体的名字加载,如:font = P
7、DF_load_font(p, "MS UI Gothic", 0, "host",;font = PDF_load_font(p, "MKZ2", 0, "unicode",;也可以通过制定字体文件加载字体,如:PDF_set_pdrdmeter(p, "FontOutline",z,MKZ2=C:/windows/fonts/ MKZ2. ttf");font= PDF_load_font(p, "MKZ2", 0, "unicode",;&
8、quot;host"和"unicode"是用于字体编码的方式,host日文系统下具体与代码页 cp932等相关,中文系统下与cp936相关。Unicode与PDF所规定的CMAP 文件相关,如:UniJIS-UCS2-H、EUC-H等的编码文件。因为字体已经安装 到了 Windows系统中,具体的字体编码方式,操作系统能够自动处理,无需我们显式的指定。加载字体是一件很耗费时间的工作,大概能占到整个处理的1/4左右。PDFLib已经作了些优化,当一个字体只要加载过一次,再次加载就会使用前面 产生的字体句柄,不再重新生成。PDFLib加载字体时默认是嵌入的,这样会增大
9、输出的PDF文件。好处是当文件被移动到其他系统上时,打开文件时不受字体的影响,否则,打开文件前需要先安 装字体。我们这次的项LI,生成的PDF文件需要用FTP转送到Solaris系统,并且要 送入打印机,所以必须以嵌入方式加载的字体。 设置字体使用PDF_setfont ()函数,如:PDF_setfont(p, font, 30);30指的是字号,也就是字体的高度。但这个和系统的缩放比例相关。如果设 字体前设定系统的缩放比例为2,实际输出的字体的高度为60个单位。PSEdit的字体的输出过程中,绝大部分采用的是变换系统坐标的方法来确定 字体的大小,所以编程中使用了 PDF_setfont(p, font, 1)的方式,即字体的大小为 当前系统的缩放比例的值相同。 文字输出PDFLib的文字处理,较PostScript而言,加强了功能,增加了大量文字及段落 等的处理。但本次PSEdit编程中,受于以询软件框架的限制,只使用了单字输岀的 功能PDF_info_text
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院康复护理培训课件:《洼田饮水试验》
- 青海省果洛藏族自治州本年度(2025)小学一年级数学部编版综合练习((上下)学期)试卷及答案
- 2025-2030年中国数控火花割机行业运行态势及发展趋势研究报告
- 2025-2030年中国教育电子产品资金申请报告
- 湖北省钢城第四中学2025年高三最后一卷英语试卷含解析
- 四川省绵阳市梓潼中学2025届高三下第一次测试英语试题含解析
- VR技术应用测试题+答案
- OFFICE题库(附参考答案)
- 安徽省宿州市省、市示范高中2024一2025学年高二下学期期中教学质量检测生物试题(原卷版+解析版)
- 纸容器生产过程中的废气处理技术考核试卷
- 2025克拉玛依机场第一季度招聘(15人)笔试参考题库附带答案详解
- 石材干挂工程施工方案
- 企业事故隐患内部报告奖励制度
- 中国历史地理知到课后答案智慧树章节测试答案2025年春泰山学院
- 2025江苏南京证券校园招聘129人易考易错模拟试题(共500题)试卷后附参考答案
- 智慧树知到《中国城市建设史(西安工业大学)》2025章节测试附答案
- 《基于MATLAB和Simulink的电动汽车助力转向控制系统仿真研究12000字(论文)》
- 2025年八下音乐期末试题及答案
- 初中人工智能跨学科融合教学探索与实践
- 第24课《蛟龙探海》课件
- 《膝关节半月板》
评论
0/150
提交评论