浅谈PDFlib中文输出(一)如何使用Acrobat标准的简体中文字体

PDF文件格式以其安全可靠,易于交换,及保真度高而成为电子文档的标准。PDFlib是一套在国际上非常流行的在服务器端批量生成PDF文档的功能强大的软件包。国外许多政府,税务,银行,水电,邮电部门用其在线生成PDF格式的单据及报表。

对于国内用户来说,如何使用PDFlib输出简体中文会是我们最关心的问题。在这里我将于大家一起分享自己的一些心得体会,不对之处请指正,若我所说于PDFlib手册有冲突,请以手册为准。我的邮箱是 :bowriver2001@yahoo.ca 。

对于没有接触过PDFlib的朋友,如果你们感兴趣,可以从这个链接 下载PDFlib软件包。(也可以到下载) 在没有license的情况下,你仍可使用其所有功能,只是生成的PDF文档带有PDFlib的水印。

PDFlib提供C,C++, Java, Perl, PHP, Python, Tcl 及RealBasic的语言接口。以下所有的例子将采用C。

如何使用Acrobat 标准的简体中文字体

PDFlib自带STSong-Light,AdobeSongStd-Light-Acro,及STSongStd-Light-Acro三种简体中文字体。这三种字体同时也是Acrobat的简体中文标准字体。

以上三种字体均支持以下几种编码(Encoding):UniGB-UCS2-H,UniGB-UCS2-V,UniGB-UTF16-H,UniGB-UTF16-V,GB-EUC-H,GB-EUC-V,GBpc-EUC-H,GBpc-EUC-V,GBK-EUC-H,GBK-EUC-V,GBKp-EUC-H,GBKp-EUC-V,GBK2K-H,及GBK2K-V。各编码的定义请见下表1.1:

表1.1

Encoding Character set and text format
UniGB-UCS2-H

UniGB-UCS2-V

Unicode (UCS-2) encoding for the Adobe-GB1 character collection
UniGB-UTF16-H

UniGB-UTF16-V

Unicode (UTF-16BE) encoding for the Adobe-GB1 character collection.Contains mappings for all characters in the GB18030-2000 character set.
GB-EUC-H

GB-EUC-V

Microsoft Code Page 936 (charset 134), GB 2312-80 character set, EUC-CN encoding
GBpc-EUC-H

GBpc-EUC-V

Macintosh, GB 2312-80 character set, EUC-CN encoding, Script Managercode 2
GBK-EUC-H

GBK-EUC-V

Microsoft Code Page 936 (charset 134), GBK character set, GBK encoding
GBKp-EUC-H

GBKp-EUC-V

Same as GBK-EUC-H, but replaces half-width Latin characters withproportional forms and maps code 0x24 to dollar ($) instead of yuan (¥).
GBK2K-H

GBK2K-V

GB 18030-2000 character set, mixed 1-, 2-, and 4-byte encoding
时间: 2024-11-13 06:37:28

浅谈PDFlib中文输出(一)如何使用Acrobat标准的简体中文字体的相关文章

浅谈PDFlib中文输出(二)如何在PDFlib中使用其他简体中文字体

除了PDFlib自带字体外,用户还可以使用安装在系统上的字体及其他用户字体. PDFlib称安装在Windows和Mac操作系统中的(存在于或被拷入相应系统字体目录的)TrueType, OpenType 和PostScript字体为宿主字体(Host Font).PDFlib可直接引用字体名进行调用,但必须与文件名完全相同(严格区分大小写).例如,调用安装在Windows系统中的字体: C:\WINDOWS\Fonts\SimHei.ttf int Font_CS = 0; Font_CS =

浅谈PDFlib中文输出(五)-- 人工生成粗体及斜体字形

一般来说, 每种基本字体, 都会有在其基础上变化字形的附加字体.比如,字体Arial, 就有其附加字体Arial Bold (粗体), Arial Italic(斜体), 及Arial Bold Italic(粗斜体).一般你都可以找到或购买到相应的附加字体. 但有时为了应急,或对字体字形没有非常严格的要求.在这样的情况下,我们可以采用人工字形生成(Artificial font styles).Artificial font styles是Acrobat的一个功能,它根据基本字形而模拟生成粗体

浅谈PDFlib中文输出(四)PDFlib 接收的几种文本输入形式

PDFlib的textformat参数用以设定文本输入形式,其有效值如下: bytes: 在字符串中每个字节对应于一个字符.主要应用于8位编码. utf8:字符串是 UTF-8编码. ebcdicutf8:字符串是EBCDIC的UTF-8编码,只应用于IBM iSeries和zSeries. utf16:字符串是 UTF-16编码.如果字符串是以Unicode的标记字节顺序号(BOM)开始,PDFlib会接收BOM信息后将其从字符串首移去.如果字符串不带BOM,字符串的字节顺序将取决于主机的字节

浅谈PDFlib中文输出(三)PDFlib 的几种文本输出函数

1.PDF_show void PDF_show(PDF *p, const char *text) void PDF_show2(PDF *p, const char *text, int len) 在当前坐标用当前字体及字体大小输出文本. PDF_show将认为字符串是以空字符结尾(NULL):若字符串有可能含有空字符(如多字节字符串),用PDF_show2. 2.PDF_show_xy void PDF_show_xy(PDF *p, const char *text, double x,

浅谈document.write()输出样式

  这篇文章主要介绍了浅谈document.write()输出样式,十分的简单实用,有需要的小伙伴可以参考下. js中的最基本的命令之一:document.write(),用于简单的打印内容到页面上,可以逐字打印你需要的内容--document.write("content"),这里content就是需要输出的内容;当然还有一种情况,需要输出JS之中比如变量等等变化的东西,那么就需要用document.write(+variable);当然variable就是你想要输出的变量. 既然可

浅谈百度中文分词是如何进行的

相信大家对于搜索引擎收录的分词技术一直都很好奇,掌握了解了搜索引擎分词技术对于我们这些站长的工作有很大的帮助:在网站的链接架构及关键词的布局都与分词有很大的关系.平时跟百度接触的比较多,所以就以百度中文分词为例介绍下搜索引擎分词的方法. 中文分词是什么 在了解百度的中文分词之前大家首先要了解什么是中文分词?我们中文与英文不同,是由一个个汉字连接成的,因此分起来相对比较复杂.百度的中文分词是将一个汉语句子切分成一个个的单独的词,然后按照一定的规则重新组合成一个序列的过程,简称"中文切词"

浅谈百度中文分词如何分词

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 中文分词技术是搜索引擎对于用户提交查询的关键词,搜索引擎用中文分词把词按照一定的规格,将一个长尾词分割成几个部分,从而概括一段话的主要内容,让用户能更快速度的找到想要的内容. 搜索引擎最常用的几种分词方法有三种: 一.字符串匹配的方法;(字符串匹配的分词一般为3种:1.正向最大匹配法;2.逆向最大匹配法;3.最少切分) 二.理解分词方法; 三

浅谈document.write()输出样式_javascript技巧

js中的最基本的命令之一:document.write(),用于简单的打印内容到页面上,可以逐字打印你需要的内容--document.write("content"),这里content就是需要输出的内容:当然还有一种情况,需要输出JS之中比如变量等等变化的东西,那么就需要用document.write(+variable);当然variable就是你想要输出的变量. 既然可以输出变量,肯定会想要去控制下变量的显示,比如位置以及样式.第一种控制方法是应用内部添加样式的方法,比如 复制代

浅谈注册中文域名的优势

在中文域名刚进入人们的视线时,笔者就和大多数网民一样存在这样的疑问,"为什么要注册中文域名","注册中文域名有什么好处".不过现在细细想来,注册中文域名的意义比传统的英文域名的意义还要重大.只是我们已经习惯用英文域名,刚接触中文域名肯定会有点心理障碍.小编在下面这篇文章里会系统的阐述中文域名的重要性. 中文域名符合国内网民的输入习惯 &http://www.aliyun.com/zixun/aggregation/37954.html">nb