Welcome

首页 / 软件开发 / C++ / 浅谈PDFlib中文输出(一)如何使用Acrobat标准的简体中文字体

浅谈PDFlib中文输出(一)如何使用Acrobat标准的简体中文字体2010-11-02 vckbase Michelle YiPDF文件格式以其安全可靠,易于交换,及保真度高而成为电子文档的标准。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

EncodingCharacter set and text format
UniGB-UCS2-HUniGB-UCS2-V

Unicode (UCS-2) encoding for the Adobe-GB1 character collection
UniGB-UTF16-HUniGB-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-HGB-EUC-V

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

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

Microsoft Code Page 936 (charset 134), GBK character set, GBK encoding
GBKp-EUC-HGBKp-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-HGBK2K-V

GB 18030-2000 character set, mixed 1-, 2-, and 4-byte encoding