前面有一篇博文中说到采用adobe开发环境进行pdf的开发,但开发的软件必须在安装了adobe的环境中才能运行。遂想到采用第三方工具进行开发。网上介绍说xpdf工具不错,也可以支持中文。试验了一把。具体过程如下。
1、下载安装包:http://www.foolabs.com/xpdf/download.html下载两个安装包xpdfbin-win-3.03.zip与 Chinese/simplified: xpdf-chinese-simplified.tar.gz (907207 bytes)。前者是win平台下的二进制包。后者是中文补丁包。
2、解压缩两个压缩文件夹,中文补丁包放到二进制包的文件夹里。
3、该段代码加入xpdfrc-simple文件末尾,同时把该文件中textEncoding UTF-8前的#去掉。修改完成后,将文件名改为xpdfrc。
#----- begin Chinese Simplified support package (2004-jul-27)
cidToUnicode Adobe-GB1 E:/重要工具/xpd开发/xpdf-3.02pl4-win32/xpdf-3.02pl4-win32/xpdf-chinese-simplified/Adobe-GB1.cidToUnicode
unicodeMap ISO-2022-CN E:/重要工具/xpd开发/xpdf-3.02pl4-win32/xpdf-3.02pl4-win32/xpdf-chinese-simplified/ISO-2022-CN.unicodeMap
unicodeMap EUC-CN E:/重要工具/xpd开发/xpdf-3.02pl4-win32/xpdf-3.02pl4-win32/xpdf-chinese-simplified/EUC-CN.unicodeMap
unicodeMap GBK E:/重要工具/xpd开发/xpdf-3.02pl4-win32/xpdf-3.02pl4-win32/xpdf-chinese-simplified/GBK.unicodeMap
cMapDir Adobe-GB1 E:/重要工具/xpd开发/xpdf-3.02pl4-win32/xpdf-3.02pl4-win32/xpdf-chinese-simplified/CMap
toUnicodeDir E:/重要工具/xpd开发/xpdf-3.02pl4-win32/xpdf-3.02pl4-win32/chinese-simplified/CMap
#displayCIDFontTT Adobe-GB1 /usr/..../gkai00mp.ttf
#----- end Chinese Simplified support package
这样子,就可以直接调用xpdf下的各个可执行文件对pdf格式进行转换了。
附:vs2008下调用creatprocess的例子。
//参数要进行处理
CString appline_cstr=TEXT(xpdf_dir.c_str());
CString cmdline_cstr=TEXT(txt_path.c_str());
appline_cstr.Replace("\\","\\\\");
cmdline_cstr.Replace("\\","\/\/");
STARTUPINFO si={sizeof(si)};
PROCESS_INFORMATION pi;
si.dwFlags=STARTF_USESHOWWINDOW;
si.wShowWindow=TRUE; //TRUE表示显示创建的进程的窗口
TCHAR *cmdline=TEXT(cmdline_cstr.GetBuffer());
TCHAR *appline=TEXT(appline_cstr.GetBuffer());
BOOL Ret=::CreateProcess(appline,cmdline,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);