经过网上一番搜查,基本实现了汉字的打印。大概的方法是使用FNTHEX32.DLL封装的函数GETFONTHEX将汉字转换为图形代码;将该代码下载到打印机,并使用^XG调用图形即可打印出汉字。VC2008代码如下:存在个问题,如何能够分配足够而不浪费的空间来保存转换后的数据。 即char chBufferChineseZPL[1024]; //最大能保存1K的内容。如果汉字较多可能会溢出,除了分配很大的空间不知道还有什么办法。HINSTANCE   DLLInst   =LoadLibrary(_T("fnthex32.dll"));//dll下载http://download.csdn.net/source/982328
if (DLLInst == NULL)//   加载是否成功  
{
int iResult = GetLastError();
strMessageBuffer.Format(_T("Load Dll error/n%d"), iResult);
AfxMessageBox(strMessageBuffer); 
return FALSE;
}
char chBufferChineseZPL[1024]; //最大能保存1K的内容。如果汉字较多可能会溢出,除了分配很大的空间不知道还有什么办法。
GETFONTHEX   pDLLAddress;     
pDLLAddress=(GETFONTHEX)(GetProcAddress(DLLInst,"GETFONTHEX"));   
if(pDLLAddress   ==   NULL)//得到入口是否正确   
{
int iResult = GetLastError();
strMessageBuffer.Format(_T("Get Dll address error/n%d"), iResult);
AfxMessageBox(strMessageBuffer);
}
pDLLAddress(lptSource,lptChineseFont,lptZPLFont,0,iHeight,iWidth,0,0,chBufferChineseZPL); 
//pDLLAddress("汉字","宋体","hz",0,40,30,0,0,chBufferChineseZPL);  
//函数参数依次为:要转换的汉字;汉字字体;转换后的字体名称;字体方向;字体高度;字体宽度;是否加粗;是否斜体;转换后的数据接收缓冲 
CString strChineseZPL = (CString)chBufferChineseZPL;
FreeLibrary(DLLInst);