浅谈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
Encoding | Character 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 |