303 lines
12 KiB
C#
303 lines
12 KiB
C#
![]() |
using System;
|
|||
|
using System.Runtime.InteropServices;
|
|||
|
|
|||
|
namespace JingGong.Abp.Print.GoDEX
|
|||
|
{
|
|||
|
public class EzioInterop
|
|||
|
{
|
|||
|
const string EzioLibrary = "ezio.so.1.1.0";
|
|||
|
const string Usblib = "usb-1.0.so.0";
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Open 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="hostname"></param>
|
|||
|
/// <param name="port"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
|||
|
public static extern bool Open(string hostname, int port);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Close 函数
|
|||
|
/// </summary>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern void Close();
|
|||
|
|
|||
|
// openUSB 函数
|
|||
|
[DllImport(Usblib, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int openUSB();
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// closeUSB 函数
|
|||
|
/// </summary>
|
|||
|
[DllImport(Usblib, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern void closeUSB();
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// OpenDriver 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="port"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int OpenDriver(string port);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// closeport 函数
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int closeport();
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// RcvBuf 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="buf"></param>
|
|||
|
/// <param name="count"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int RcvBuf(IntPtr buf, UIntPtr count);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// sendbuf 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="buf"></param>
|
|||
|
/// <param name="count"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int sendbuf([MarshalAs(UnmanagedType.LPArray)] byte[] buf, int count);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// sendcommand 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="cmd"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int sendcommand(string cmd);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// setup 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="mm"></param>
|
|||
|
/// <param name="dark"></param>
|
|||
|
/// <param name="speed"></param>
|
|||
|
/// <param name="mode"></param>
|
|||
|
/// <param name="gap"></param>
|
|||
|
/// <param name="top"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int setup(int mm, int dark, int speed, int mode, int gap, int top);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Bar 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="BarcodeType"></param>
|
|||
|
/// <param name="PosX"></param>
|
|||
|
/// <param name="PosY"></param>
|
|||
|
/// <param name="Narrow"></param>
|
|||
|
/// <param name="Wide"></param>
|
|||
|
/// <param name="Height"></param>
|
|||
|
/// <param name="Rotation"></param>
|
|||
|
/// <param name="Readable"></param>
|
|||
|
/// <param name="data"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int Bar(string BarcodeType, int PosX, int PosY, int Narrow, int Wide, int Height, int Rotation, int Readable, string data);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Bar_S 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="BarcodeType"></param>
|
|||
|
/// <param name="PosX"></param>
|
|||
|
/// <param name="PosY"></param>
|
|||
|
/// <param name="data"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int Bar_S(string BarcodeType, int PosX, int PosY, string data);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Bar_QRcode 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="PosX"></param>
|
|||
|
/// <param name="PosY"></param>
|
|||
|
/// <param name="Mode"></param>
|
|||
|
/// <param name="Type"></param>
|
|||
|
/// <param name="ErrorLevel"></param>
|
|||
|
/// <param name="Mask"></param>
|
|||
|
/// <param name="Mul"></param>
|
|||
|
/// <param name="Len"></param>
|
|||
|
/// <param name="Rotation"></param>
|
|||
|
/// <param name="data"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int Bar_QRcode(int PosX, int PosY, int Mode, int Type, string ErrorLevel, int Mask, int Mul, int Len, int Rotation, string data);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Bar_QRcode_S 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="PosX"></param>
|
|||
|
/// <param name="PosY"></param>
|
|||
|
/// <param name="Len"></param>
|
|||
|
/// <param name="data"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int Bar_QRcode_S(int PosX, int PosY, int Len, string data);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// DrawHorLine 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="PosX"></param>
|
|||
|
/// <param name="PosY"></param>
|
|||
|
/// <param name="Length"></param>
|
|||
|
/// <param name="Thick"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int DrawHorLine(int PosX, int PosY, int Length, int Thick);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// DrawVerLine 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="PosX"></param>
|
|||
|
/// <param name="PosY"></param>
|
|||
|
/// <param name="Length"></param>
|
|||
|
/// <param name="Thick"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int DrawVerLine(int PosX, int PosY, int Length, int Thick);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// InternalFont_TextOut 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="FontType"></param>
|
|||
|
/// <param name="PosX"></param>
|
|||
|
/// <param name="PosY"></param>
|
|||
|
/// <param name="Mul_X"></param>
|
|||
|
/// <param name="Mul_Y"></param>
|
|||
|
/// <param name="Gap"></param>
|
|||
|
/// <param name="RotationInverse"></param>
|
|||
|
/// <param name="Data"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int InternalFont_TextOut(string FontType, int PosX, int PosY, int Mul_X, int Mul_Y, int Gap, string RotationInverse, string Data);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// InternalFont_TextOut_S 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="FontType"></param>
|
|||
|
/// <param name="PosX"></param>
|
|||
|
/// <param name="PosY"></param>
|
|||
|
/// <param name="Data"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int InternalFont_TextOut_S(string FontType, int PosX, int PosY, string Data);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// DownloadFont_TextOut 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="FontName"></param>
|
|||
|
/// <param name="PosX"></param>
|
|||
|
/// <param name="PosY"></param>
|
|||
|
/// <param name="Mul_X"></param>
|
|||
|
/// <param name="Mul_Y"></param>
|
|||
|
/// <param name="Gap"></param>
|
|||
|
/// <param name="RotationInverse"></param>
|
|||
|
/// <param name="Data"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int DownloadFont_TextOut(string FontName, int PosX, int PosY, int Mul_X, int Mul_Y, int Gap, string RotationInverse, string Data);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// DownloadFont_TextOut_S 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="FontName"></param>
|
|||
|
/// <param name="PosX"></param>
|
|||
|
/// <param name="PosY"></param>
|
|||
|
/// <param name="Data"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int DownloadFont_TextOut_S(string FontName, int PosX, int PosY, string Data);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// TrueTypeFont_TextOut 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="FontName"></param>
|
|||
|
/// <param name="PosX"></param>
|
|||
|
/// <param name="PosY"></param>
|
|||
|
/// <param name="Font_W"></param>
|
|||
|
/// <param name="Font_H"></param>
|
|||
|
/// <param name="SpaceChar"></param>
|
|||
|
/// <param name="RotationInverse"></param>
|
|||
|
/// <param name="TTFTable"></param>
|
|||
|
/// <param name="WidthMode"></param>
|
|||
|
/// <param name="Data"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int TrueTypeFont_TextOut(string FontName, int PosX, int PosY, int Font_W, int Font_H, int SpaceChar, string RotationInverse, string TTFTable, int WidthMode, string Data);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// TrueTypeFont_TextOut_S 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="FontName"></param>
|
|||
|
/// <param name="PosX"></param>
|
|||
|
/// <param name="PosY"></param>
|
|||
|
/// <param name="Data"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int TrueTypeFont_TextOut_S(string FontName, int PosX, int PosY, string Data);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// ecTextOut 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="x"></param>
|
|||
|
/// <param name="y"></param>
|
|||
|
/// <param name="height"></param>
|
|||
|
/// <param name="fontname"></param>
|
|||
|
/// <param name="TEXT"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int ecTextOut(int x, int y, int height, string fontname, string TEXT);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// ecTextOutR 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="x"></param>
|
|||
|
/// <param name="y"></param>
|
|||
|
/// <param name="height"></param>
|
|||
|
/// <param name="fontname"></param>
|
|||
|
/// <param name="TEXT"></param>
|
|||
|
/// <param name="width"></param>
|
|||
|
/// <param name="degree"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int ecTextOutR(int x, int y, int height, string fontname, string TEXT, int width, int degree);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// ecTextOutW 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="x"></param>
|
|||
|
/// <param name="y"></param>
|
|||
|
/// <param name="height"></param>
|
|||
|
/// <param name="fontname"></param>
|
|||
|
/// <param name="TEXT"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int ecTextOutW(int x, int y, int height, string fontname, [MarshalAs(UnmanagedType.LPWStr)] string TEXT);
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// ecTextOutRW 函数
|
|||
|
/// </summary>
|
|||
|
/// <param name="x"></param>
|
|||
|
/// <param name="y"></param>
|
|||
|
/// <param name="height"></param>
|
|||
|
/// <param name="fontname"></param>
|
|||
|
/// <param name="TEXT"></param>
|
|||
|
/// <param name="width"></param>
|
|||
|
/// <param name="degree"></param>
|
|||
|
/// <returns></returns>
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int ecTextOutRW(int x, int y, int height, string fontname, [MarshalAs(UnmanagedType.LPWStr)] string TEXT, int width, int degree);
|
|||
|
|
|||
|
[DllImport(EzioLibrary, CallingConvention = CallingConvention.Cdecl)]
|
|||
|
public static extern int putimage(int x, int y, [MarshalAs(UnmanagedType.LPStr)] string Filename, int Degree);
|
|||
|
}
|
|||
|
}
|