                *****************************************
                *     Printer Programming Library       *
                *     Version 4.12                      *
                *     Data: 2021/07/19                  *
                *****************************************

Thank you for purchasing our product.

You have just opened the README.TXT file. It contains the information about
application function interface and the driving library.

Programming Guide:
==================================
The printer driving libraries are located in different sub-directory
for different printer control language, so you must check the printer
language before your library link. The PPLA sub-directory is for PPLA
printer language and PPLB sub-directory is for PPLB printer language
and PPLZ sub-directory is for PPLZ printer language.

1.How to choose 32-bit library or 64-bit library?
  Please check your application if you select "32-bit or 64-bit of CPU" to compile, 
  and then select the same bits library as your application.
  For example : 
  Select 32-bit CPU to compile => use 32-bit library in the folder, ".\PPLX\Library\32-bit".
  Select 64-bit CPU to compile => use 64-bit library in the folder, ".\PPLX\Library\64-bit".

  If you use C#, VB.NET ... languages (those use .NET Framework library) to develop and 
  select "AnyCPU" to compile, 
  then select the same bits library as your OS.
  For example : 
  Working on 32-bit OS => use 32-bit library in the folder, ".\PPLX\Library\32-bit".
  Working on 64-bit OS => use 64-bit library in the folder, ".\PPLX\Library\64-bit".

2.Where do you locate DLL? 
  If you get an error message like "unable to load dll HRESULT 0x8007007E", 
  the message means "link DLL error", the possible cause is that, DLL is not 
  located correctly. Our command library is 32-Bits DLL, not 64-Bits DLL, 
  so please refer to the following descriptions:
  1.To put DLL together with application execution file. (This is the best way)
  2.In the Windows 32-Bits OS, to locate DLL in the folder .\Windows\System32.
  3.In the Windows 64-Bits OS, to locate DLL in the folder .\Windows\Syswow64.

3.In addition, does the error message, "Error :HRESULT: 0x8007000B", show up 
  when you use DLL in .net framework environment?
  If you get an error message as above, it means that DLL cannot be used 
  in the current OS. Because the command library is 32-Bits DLL and you use 
  .net framework to create application in the Windows 64-Bits OS, you will get 
  this error message. More details may be found via some Q&A on Internet and 
  kindly refer to the section, ".\Example\VC#_2005" project.

4.Where should you put DLL file?
  If used 32-bit DLL files:
  A.Put DLL files in the same folder with application. (Strongly recommend.)
  B.In Windows 32-bit OS, you should put your DLL files into the \Windows\system32 directory.
  C.In Windows 64-bit OS, you should put your DLL files into the \Windows\SysWOW64 directory.
  If used 64-bit DLL files:
  A.Put DLL files in the same folder with application. (Strongly recommend.)
  B.In Windows 32-bit OS, 64-bit DLL files could not be used.
  C.In Windows 64-bit OS, you should put your DLL files into the \Windows\system32 directory.

Directory Contents Description:
==================================
For PPLA,
   PPLA\Doc                          => The documentation for the syntax of function call
   PPLA\Example\Win32                => Example for 32-bit of CPU
   PPLA\Example\Win32\VC_6           => Example for Visual C++ 6.0
   PPLA\Example\Win32\VC_2005        => Example for Visual C++ 2005
   PPLA\Example\Win32\VC#_2005       => Example for Visual C# 2005
   PPLA\Example\Win32\VB_6           => Example for Visual Basic 6.0
   PPLA\Example\Win32\VB.NET_2005    => Example for Visual Basic.net 2005
   PPLA\Example\Win32\VBA_Excel_2003 => Example for VBA Excel 2003
   PPLA\Example\Win32\VFoxPro_6      => Example for Visual FoxPro 6.0
   PPLA\Example\Win32\Delphi_6       => Example for Delphi 6.0
   PPLA\Example\Win32\Delphi_2009    => Example for Delphi 2009
   PPLA\Example\AnyCPU               => Example for AnyCPU
   PPLA\Example\AnyCPU\VC#_2005      => Example for Visual C# 2005
   PPLA\Example\AnyCPU\VB.NET_2005   => Example for Visual Basic.net 2005
   PPLA\Library                      => DLL file.
   PPLA\Library\32-bit               => 32-bit DLL.
   PPLA\Library\64-bit               => 64-bit DLL.

For PPLB,
   PPLB\Doc                          => The documentation for the syntax of function call
   PPLB\Example\Win32                => Example for 32-bit of CPU
   PPLB\Example\Win32\VC_6           => Example for Visual C++ 6.0
   PPLB\Example\Win32\VC_2005        => Example for Visual C++ 2005
   PPLB\Example\Win32\VC#_2005       => Example for Visual C# 2005
   PPLB\Example\Win32\VB_6           => Example for Visual Basic 6.0
   PPLA\Example\Win32\VB.NET_2005    => Example for Visual Basic.net 2005
   PPLA\Example\Win32\VBA_Excel_2003 => Example for VBA Excel 2003
   PPLB\Example\Win32\VFoxPro_6      => Example for Visual FoxPro 6.0
   PPLB\Example\Win32\Delphi_6       => Example for Delphi 6.0
   PPLB\Example\Win32\Delphi_2009    => Example for Delphi 2009
   PPLB\Example\AnyCPU               => Example for AnyCPU
   PPLB\Example\AnyCPU\VC#_2005      => Example for Visual C# 2005
   PPLB\Example\AnyCPU\VB.NET_2005   => Example for Visual Basic.net 2005
   PPLB\Library                      => DLL file.
   PPLB\Library\32-bit               => 32-bit DLL.
   PPLB\Library\64-bit               => 64-bit DLL.

For PPLZ,
   PPLZ\Doc                          => The documentation for the syntax of function call
   PPLZ\Example\Win32                => Example for 32-bit of CPU
   PPLZ\Example\Win32\VC_6           => Example for Visual C++ 6.0
   PPLZ\Example\Win32\VC2005         => Example for Visual C++ 2005
   PPLZ\Example\Win32\VC#_2005       => Example for Visual C# 2005
   PPLZ\Example\Win32\VB_6           => Example for Visual Basic 6.0
   PPLA\Example\Win32\VB.NET_2005    => Example for Visual Basic.net 2005
   PPLA\Example\Win32\VBA_Excel_2003 => Example for VBA Excel 2003
   PPLZ\Example\Win32\VFoxPro_6      => Example for Visual FoxPro 6.0
   PPLZ\Example\Win32\Delphi_6       => Example for Delphi 6.0
   PPLZ\Example\Win32\Delphi_2009    => Example for Delphi 2009
   PPLZ\Example\AnyCPU               => Example for AnyCPU
   PPLZ\Example\AnyCPU\VC#_2005      => Example for Visual C# 2005
   PPLZ\Example\AnyCPU\VB.NET_2005   => Example for Visual Basic.net 2005
   PPLZ\Library                      => DLL file.
   PPLZ\Library\32-bit               => 32-bit DLL.
   PPLZ\Library\64-bit               => 64-bit DLL.

Release Notice:
==================================
PPLA:
     1. In this version Ver1.1AW
        We add a barcode tpye for China postal matrix 2 5 code in the barcode drawing function.

     2. In this version Ver1.2AW
        We add Chinese dot font (16*15 and 24*24) function.

     3. In this version Ver1.2.1AW
        We modify True Type Font left "|" pattern in any direction.

     4. In this version Ver1.2.2AW
        We add functions for ARGOBAR.

     5. In this version Ver1.2.3AW
        We modify Print_Out() to work under Win2000 and NT4.0.

     6. In this version Ver2.0.0AW
        We modified all function to add the "A_" befor function name.

        And to reserve old function name.
     7. In this version Ver2.0.0AW
        We add A_Prn_Text_TrueType_W() function to control height and width for True type font.

     8. In this version Ver2.0.0AW
        We add A_Get_DLL_Version() function to Get or show this verison for library.

     9. In this version Ver2.0.0AW
        We add A_Set_Prncomport() function to set serial port for printer.

    10. In this version Ver2.0.0AW
        We add A_Set_Prncomport_PC() function to set serial port for PC.
        If you used Xon and Xoff, you must get verison X3A2.10 for firmware.

    11. In this version Ver2.0.2AW
        We add A_Bar2d_Maxi_Ori(), A_Bar2d_PDF417_Ori() functions to set orientation.
        And A_Bar2d_PDF417_Ori() add to change end character.

    12. In this version Ver2.1.0AW
        We modify time out and serial port flow control for the print operation.

    13. In this version Ver2.2.0AW
        We modify operation for A_Print_Out(). User can print out many times between create
        and close printer of assece operation.

    14. In this version Ver2.2.2AW
        We modify end code for graph to "0D".

    15. In this version Ver2.5.0AW
        We add a new output model "winport.dll". It supports LPT1, LPT2, LPT3,
        COM1, COM2, COM3 and File.

    16. In this version Ver2.6AW
        We modify output model. It don't twinkle.

    17. In this version Ver2.7AW
        We modify memory manager. It cann't crash when memory isn't enought.

    18. In this version Ver3.0AW
        We modify the that if Graphic is too big,it maybe error. Add set Gap function.

    19. In this version Ver3.03AW
        Add the function to show process when sending to printer.
        Add the 2D Barcode-DataMatrix
        Modify the phony font can't work when it Bold + underline + rotation 180
        Add the function A_Set_Logic to set image printing mode.
        Add the fucntion A_Set_LabelVer to Set R-400 width.
        Add A_Set_SlashZero to change slash zero 0 to O.

    20. In this version Ver3.04AW
        Support Window Server 2003
        We modify memory manager. It cann't crash when memory isn't enought.
        Expand the 2D barcode data length.
        Enable the USB port
        Add the Change End character function on A_Bar2d_Maxi, A_Bar2d_Maxi_Ori(), A_DataMatrix

    21. In this version Ver3.05AW
        Add A_CreatePort() to open com4 or more
        Solve the porblem--USB port can't work in Win98
        Solve the problem--PDF 417 & DataMatrix can't print multi-line

    22. In this version Ver3.05AW
        Add the USB PID and VID support for Argox X-1000v, X-2000v ,F-1, OS-214plus and R-400plus
        Add A_Clear_MemoryEx() to select the clear data for RAM or Flash or deleting by printer default setting area

    23. In this version Ver3.06AW
        Support Windows Vista x86
        Add the USB support under Vista

    24. In this version Ver4.00AW
        Add A_Set_Mirror() to control reverse printing
        Add A_Bar2d_RSS() to print RSS code
        Add A_Bar2d_QR_M() and A_Bar2d_QR_A() to print QR code

    25. In this version Ver4.01AW
        Modify the setting of baud rate in A_Set_Prncomport()

    26. In this version Ver4.02AW
        Use VC2005 build version
        Support Net port
        Add A_Prn_Text_TrueType_Uni() and A_Prn_Text_TrueType_UniB()
        to convert unicode string to True type font
        Delete the dependance on Windows's Driver for Dr.200 or Dr.300 in related functions

    27. In this version Ver4.03AW
        1.The write data is more stable during the shell mode printer.
        2.Modify A_Get_DLL_Version() cannot return version string.
        3.Add A_GetUSBDeviceInfo() to get usb device name and path.
        4.Add new type nPortType=6 in the A_CreatePort().

    28.In this version Ver4.05AW
        1.Add A_Get_Graphic_ColorBMPEx(), A_Get_Graphic_ColorBMP_HBitmap(), A_WriteData(), A_ReadData(),
          A_Set_EncryptionKey(), A_Check_EncryptionKey() function.
        2.No check RSS height limits in RSS function.
        3.Modify A_Get_Graphic() function can correct to convert 1/4/8-bits of BMP pictures.
        4.Modify A_Set_Syssetting() function convert the error command question.
        5.Modify the port parameter of LPT and COM, when it is less then 0, set to the default value of 0.
        6.Modify end user call output function in the thread, if it has ˇ§progress barˇ¨ function that will have the crash question.
        7.Modify to use the shared printer will loss data question in the VISTA later version.
        8.Modify multiple AP at the same time using the USB, the first call can be read into the data.

    29.In this version Ver4.06AW
        1.Support Windows 8 operating system.
        2.Provide both 32/64-bit libraries.
        3.Modify the sample code in C#. When use A_Get_DLL_Version() function of the applications, 
          then the the repeated switching machine will appears broken memory question.
        4.Modify X_CreatePort() function return value error question.
        5.Changed hardware/software flow control default value. Current default is close hardware/software flow control.

    30.In this version Ver4.07AW
        1.Modified string of error message.
        2.Support USB3.0
        3.Fixed Share Printer in the Vista or later, that only send the last data when to write to divide into the data many times.
        4.Add A_Set_ErrorDlg() function, use to enable/disable inquiry dialog when cannot transmitting.

    31.In this version Ver4.08AW
        1.Modified string of error message and using EN, BIG5 and GB language to show message.
        2.Change log file name from argoxlog.dat to commandlog.dat

    32.In this version Ver4.09AW
        1.Modified string of error message.
        2.Add A_Set_CommTimeout() and A_Get_CommTimeout() function, use to set/get communication time.
        3.Modify that LAN will wait for data to be delivered before closing.

    33.In this version Ver4.10AW
        1.Update Version.

PPLB:
     1. In this version Ver1.1BW
        We modify True Type Font left "|" pattern.

     2. In this version Ver1.2BW
        We add Chinese dot font (16*15 and 24*24) function.

     3. In this version Ver1.2.1BW
        We modify True Type Font left "|" pattern in any direction.

     4. In this version Ver1.2.2BW
        We modify Print_Out() to work under Win2000 and NT4.0.

     5. In this version Ver1.2.3BW
        We add the Prn_Text_TrueType_W() function to input width of font.

     6. In this version Ver1.2.3BW
        We add the Get_DLL_Version_PPLB() function to show DLL verison.

     7. In this version Ver2.0.0BW
        We modified all function to add the "B_" befor function name.
        And to reserve old function name.

     8. In this version Ver2.0.0BW
        We add B_Prn_Text_TrueType_W() function to control height and width for True type font.

     9. In this version Ver2.0.0BW
        We add B_Get_DLL_Version() function to Get or show this verison for library.

    10. In this version Ver2.0.0BW
        We add B_Set_Prncomport_PC() function to set serial port for PC.
        If you used Xon and Xoff, you must get verison X3A2.10 for firmware.

    11. In this version Ver2.1.0BW
        We modify time out and serial port flow control for the print operation.

    12. In this version Ver2.2.0BW
        We modify operation for B_Print_Out(). User can print out many times between create
        and close printer of assece operation.

    13. In this version Ver2.2.1BW
        We modify bug for printing failed for B_Print_Out() and B_Print_MCopy().

    14. In this version Ver2.2.3BW
        We modify end code for graph to "0A".

    15. In this version Ver2.5.0BW
        We add a new output model "winport.dll". It supports LPT1, LPT2, LPT3,
        COM1, COM2, COM3 and File.

    16. In this version Ver2.6BW
        We Modify output model. It don't twinkle.

    17. In this version Ver2.7BW
        We modify memory manager. It cann't crash when memory isn't enought.

    18. In this version Ver3.0BW
        We modify the that if Graphic is too big,it maybe error. Add Backfeed function.

    19. In this version Ver3.03BW
        We add the function to show process when sending to printer.
        Modify the phony font can't work when it Bold + underline + rotation 180

    20. In this version Ver3.04BW
        Support Window Server 2003
        Modify the cutter can't cut in multi paper when in DT Mode
        We modify memory manager. It cann't crash when memory isn't enought.
        Expand the 2D barcode data length.
        Enable the USB port
        Modify the bug -- If counter is in used, other object can't print.

    21. In this version Ver3.05BW
        Add the function to receive the printer error code from comport.
        Add B_TFeedMode() function to set printer into T-Feed mode.
        Add B_TFeedTest() function to do paper/ribbon test in T-Feed mode.
        Add B_CreatePort() to open com4 or more
        Solve the porblem--USB port can't work in Win98.
        Add B_Execute_Form to execute a form stored in printer.

    22. In this version Ver3.05BW
        Add the USB PID and VID support for Argox X-1000v, X-2000v, F-1, OS-214plus and R-400plus
        Add B_Select_Symbol2() to match the new symbol set in printer.

    23. In this version Ver3.06BW
        Support Windows Vista x86
        Add the USB support under Vista

    24. In this version Ver4.00BW
        Add RSS code in B_Prn_Barcode()
        Modify the error in printing counter and fixed data in one label
        Add B_Bar2d_QR() to print QR code

    25. In this version Ver4.01BW
        Modify the setting of baud rate in B_Set_Prncomport()

    26. In this version Ver4.02BW
        Use VC2005 build version
        Support Net port
        Add B_Prn_Text_TrueType_Uni() and B_Prn_Text_TrueType_UniB() to convert 
        unicode string to True type font
        Delete the dependance on Windows's Driver for Dr.200 or Dr.300 in related functions

    27. In this version Ver4.03BW
        1.The write data is more stable during the shell mode printer.
        2.Modify B_Get_DLL_Version() cannot return version string.
        3.Add A_GetUSBDeviceInfo() to get usb device name and path.
        4.Add new type nPortType=6 in the B_CreatePort().
        5.Modify sequences of the graphic commands.

    28.In this version Ver4.05BW
        1.Add B_Get_Graphic_ColorBMPEx(), B_Get_Graphic_ColorBMP_HBitmap(), B_WriteData(), B_ReadData(),
          B_Set_EncryptionKey(), B_Check_EncryptionKey() function.
        2.No check RSS height limits in RSS function.
        3.Modify the port parameter of LPT and COM, when it is less then 0, set to the default value of 0.
        4.Modify end user call output function in the thread, if it has ˇ§progress barˇ¨ function that will have the crash question.
        5.Modify to use the shared printer will loss data question in the VISTA later version.
        6.Modify multiple AP at the same time using the USB, the first call can be read into the data.

    29.In this version Ver4.06BW
        1.Support Windows 8 operating system.
        2.Provide both 32/64-bit libraries.
        3.Modify the sample code in C#. When use B_Get_DLL_Version() function of the applications, 
          then the the repeated switching machine will appears broken memory question.
        4.Modify X_CreatePort() function return value error question.
        5.Changed hardware/software flow control default value. Current default is close hardware/software flow control.

    30.In this version Ver4.07BW
        1.Modified string of error message.
        2.Support USB3.0
        3.Fixed Share Printer in the Vista or later, that only send the last data when to write to divide into the data many times.
        4.Add B_Set_ErrorDlg() function, use to enable/disable inquiry dialog when cannot transmitting.

    31.In this version Ver4.08BW
        1.Modified string of error message and using EN, BIG5 and GB language to show message.
        2.Change log file name from argoxlog.dat to commandlog.dat
        3.Add B_Bar2d_DataMatrix(), B_Set_Backfeed_Offset() and B_Set_CutPeel_Offset() function.

    32.In this version Ver4.09BW
        1.Modified string of error message.
        2.Add B_Set_CommTimeout() and B_Get_CommTimeout() function, use to set/get communication time.
        3.Modify that LAN will wait for data to be delivered before closing.

    33.In this version Ver4.10BW
        1.Update Version.

PPLZ
    1. In this version Ver3.03ZW
       We add the function to show process when sending to printer.
       Add the function to set distance of backfeed.
       Modify the phony font can't work when it Bold + underline + rotation 180
       Add modify the print error when print in huge data in Win98
       Add Z_Bar2d_QRCode to print QR Code
       Add Z_Set_PrintWidth to set print width

    2. In this version Ver3.04ZW
       We Modify the print graph incomplete.
       Support Window Server 2003
       Add Z_Print_OutQuality to set sheet for cutter
       We modify memory manager. It cann't crash when memory isn't enought.
       Expand the 2D barcode data length.
       Enable the USB port

    3. In this version Ver3.05ZW
       Add Z_CreatePort() to open com4 or more
       Solve the porblem--USB port can't work in Win98
       Add the USB PID and VID support for Argox X-2000v and R-400plus

    4. In this version Ver3.05ZW
       Add the USB PID and VID support for Argox X-1000v, F-1 and OS-214plus
       Add B_Select_Symbol2() to match the new symbol set in printer.

    5. In this version Ver3.06ZW
       Support Windows Vista x86
       Add the USB support under Vista

    6. In this version Ver4.00ZW
       Add Z_Set_Mirror() to control reverse printing
       Add Z_Bar2d_RSS() to print RSS code

    7. In this version Ver4.02ZW
       Use VC2005 build version
       Support Net port
       Add B_Prn_Text_TrueType_Uni() and B_Prn_Text_TrueType_UniB()
       to convert unicode string to True type font
       Delete the dependance on Windows's Driver for Dr.200 or Dr.300 in related functions

    8. In this version Ver4.03ZW
        1.The write data is more stable during the shell mode printer.
        2.Modify Z_Get_DLL_Version() cannot return version string.
        3.Add Z_GetUSBDeviceInfo() to get usb device name and path.
        4.Add new type nPortType=6 in the Z_CreatePort().
        5.Modify sequences of the graphic commands.
        6.Modify the PPLZ cannot run in the vista.

    9. In this version Ver4.05ZW
        1.Add Z_Get_Graphic_ColorBMPEx(), Z_Get_Graphic_ColorBMP_HBitmap(), Z_WriteData(), Z_ReadData(),
          Z_Set_EncryptionKey(), Z_Check_EncryptionKey() function.
        2.No check RSS height limits in RSS function.
        3.Plessey barcode join Z_Prn_Barcode() function, and modify the wording of the command of the increase/decrease in the value of the function.
        4.Modify the port parameter of LPT and COM, when it is less then 0, set to the default value of 0.
        5.Modify end user call output function in the thread, if it has ˇ§progress barˇ¨ function that will have the crash question.
        6.Modify to use the shared printer will loss data question in the VISTA later version.
        7.Modify multiple AP at the same time using the USB, the first call can be read into the data.

    10.In this version Ver4.06ZW
        1.Support Windows 8 operating system.
        2.Provide both 32/64-bit libraries.
        3.Modify the sample code in C#. When use Z_Get_DLL_Version() function of the applications, 
          then the the repeated switching machine will appears broken memory question.
        4.Modify X_CreatePort() function return value error question.
        5.Changed hardware/software flow control default value. Current default is close hardware/software flow control.

    11.In this version Ver4.07ZW
        1.Modified string of error message.
        2.Support USB3.0
        3.Fixed Share Printer in the Vista or later, that only send the last data when to write to divide into the data many times.
        4.Add Z_Set_ErrorDlg() function, use to enable/disable inquiry dialog when cannot transmitting.
        5.Add Z_Clear_MemoryEx() function.
        6.Modified Z_Clear_Memory() function that is invalid.

    12.In this version Ver4.08ZW
        1.Modified string of error message and using EN, BIG5 and GB language to show message.
        2.Change log file name from argoxlog.dat to commandlog.dat
        3.Add Z_Bar2d_DataMatrix() function.

    13.In this version Ver4.09ZW
        1.Modified string of error message.
        2.Add Z_Set_CommTimeout() and Z_Get_CommTimeout() function, use to set/get communication time.
        3.Modify that LAN will wait for data to be delivered before closing.

    14.In this version Ver4.10ZW
        1.Change the command of the flash storage from 'B' to 'E'.

TRADEMARKS
==========
All trademark or brand names mentioned are properties
of their respective companies.

============END==========
