前面有一篇博文中说到采用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);