首页 / 软件开发 / C++ / 浅谈PDFlib中文输出(四)PDFlib 接收的几种文本输入形式
浅谈PDFlib中文输出(四)PDFlib 接收的几种文本输入形式2010-11-02 vckbase Michelle YiPDFlib的textformat参数用以设定文本输入形式,其有效值如下:bytes: 在字符串中每个字节对应于一个字符。主要应用于8位编码。utf8:字符串是 UTF-8编码。ebcdicutf8:字符串是EBCDIC的UTF-8编码,只应用于IBM iSeries和zSeries。utf16:字符串是 UTF-16编码。如果字符串是以Unicode的标记字节顺序号(BOM)开始,PDFlib会接收BOM信息后将其从字符串首移去。如果字符串不带BOM,字符串的字节顺序将取决于主机的字节顺序。Intel x86系统是小尾(little-endian,0xFFFE ), 而Sparc和PowerPC系统是大尾(big-endian, 0xFEFF)。utf16be:字符串是大尾字节顺序的UTF-16编码。对BOM没有特殊处理。utf16le:字符串是小尾字节顺序的UTF-16编码。对BOM没有特殊处理。auto:对于8位编码,它相当于“bytes”, 对于宽字符字符串(Unicode, glyphid, UCS2 或UTF16 CMap),它相当于“utf16”。在语言里,我们将可以自动处理Unicode字符串的语言称为支持Unicode语言(Unicode-capable),它们是COM, .NET, Java, REALbasic及Tcl等。对于需对Unicode字符串进行特殊处理的语言称为不支持Unicode语言(non-Unicode-capable),它们是C, C++, Cobol, Perl, PHP, Python 及RPG等。在non-Unicode-capable语言里,“auto”设置将会正确处理大部分文本字符串。对于Unicode-capable语言,textformat参数的缺省值是“utf16”;而non-Unicode-capable语言的缺省值是“auto”。除此之外,PDFlib还支持在SGML和HTML经常使用的字符引用方法(Character Reference)。前提是将参数charref设成真, textformat设成“bytes”:PDF_set_parameter(p, "charref", "true");
PDF_set_parameter(p, "textformat", "bytes");
下面给出一些有效的Character Reference:­ soft hyphen­ soft hyphen­ soft hyphen€ Euro glyph (hexadecimal)€ Euro glyph (decimal)€ Euro glyph (entity name)< less than sign> greater than sign& ampersand signΑ Greek Alpha