none
VS2008에서 바코드프린터로 바코드 출력하는 방법 RRS feed

  • 질문

  • VS2008 에서 바코드폰트를 이용하여 출력하는 방법외에

    바코드프린터의 드라이버에서 제공되는 바코드폰트를 이용하여 바코드를 출력할수있는지 알고싶습니다.

    개발환경은  OS : XP Pro  /  Tools : Visual Studio 2008(Visual Basic)   / 바코드 프린터 : Intermec PF4i 

    2011년 5월 12일 목요일 오전 9:33

모든 응답

  • 결론부터 말씀드리면 가능합니다.
    다음은 제브라라는 바코드 프린터에 대한 코딩입니다.
    프린터에서 제공해주는 함수들을 이용했습니다.
    비관리 코드라서 다음과 같이 사용합니다.
    
    		///public static extern int CallPrint( string szDevice, string szData);
    		[ DllImport( @"Common\SP_HBarPrt.Dll")]
    		public static extern int CallPrint( [MarshalAs(UnmanagedType.LPStr)] string szDevice, [MarshalAs(UnmanagedType.LPStr)] string szData);
    		///제브라 한글컴버전 
    		[ DllImport( @"Common\SP_HBarPrt.Dll")]
    		public static extern int ZebraFileHangul( [MarshalAs(UnmanagedType.LPStr)] string Path, [MarshalAs(UnmanagedType.LPStr)] string strFontType, int nX, int nY, [MarshalAs(UnmanagedType.LPStr)] string szData, int nHX, int nHY, [MarshalAs(UnmanagedType.LPStr, SizeConst=2048)] StringBuilder buffer);
    		[ DllImport( @"Common\SP_HBarPrt.Dll")]
    		public static extern int ZebraRomHangul( [MarshalAs(UnmanagedType.LPStr)] string HanStr, int xpos, int ypos, int xsize, int ysize, int jagan, int rotate, [MarshalAs(UnmanagedType.LPStr, SizeConst=2048)] StringBuilder buffer );
    
    		public void EtcExamZebra( DataTable pDt )
    		{
    
    			POS = new string[] { "^XA",
    								  "^FO030,010^",
    								  "^FO030,010^",
    								  "^FO070,010^A0,21,20^FD",	 
    								  "^FO250,015^A0,21,20^FD",
    								  "^FO230,045^A0,51,30^FD", 
    								  "^FO070,035^A0,21,20^FD",
    								  "^FO070,060^A0,21,20^FD", 
    								  "^FO010,090^A0,31,20^FD",
    								  "^FO100,120^A0,31,20^FD",
    								  "^FO010,150^A0,31,20^FD",
    								  "^FO010,180^A0,31,20^FD",
    								  "^FO275,130^A0,21,20^FD",
    								  "^FO010,030^A0,60,70^FD",
    								  "^PQ",
    								  "^XZ"};
    			StringBuilder strBuf = new StringBuilder(5048);
    
    			strData = "출력내용";
    		
    				strData =  POS[0];
    				strData += POS[1];
    				strData += POS[2]+Split;
    				strData += POS[3] + dr["AAA"].ToString()+Split;
    
    				XPos = int.Parse(POS[4].Substring(3, 3));
    				YPos = int.Parse(POS[4].Substring(7, 3));
    				ZebraFileHangul(folderPath, "고딕체", XPos, YPos,dr["BBB"].ToString()+"님", 1, 1, strBuf ); 		
    				strData += POS[4] + strBuf.ToString()+Split;
    			...........................................................
    
    			CallPrint(_printerName, strData);
    		}
    
    이런식으로 작업했던 기억이 있네요.

     

    2011년 6월 14일 화요일 오전 9:27