JSPrintManager - Version History

  • Maintenance Release (2024-10-15)
    JSPrintManager.js patched to v7.0.2
    • New! Added extended_attributes param to getPrintersInfo func (Windows only).

  • Maintenance Release (2024-05-22)
    JSPrintManager.js patched to v7.0.1
    • Fixed! JSPM.JSPrintManager.start() should not call onStatusChanged when a WS connection is already open.

  • Main Release (2024-04-15)
    • New! Added JS sendIppMessage function to send IPP Messages to IPP hosts/devices/printers.
    • New! Added JS printerDeleteAllJobs function to delete all print jobs in a given printer queue.
    • New! Added JS getDeviceId function to get the client system ID based on the OS native machine UUID/GUID.
    • New! Added JS sitesManager function to allow or block a given site/device address.
    • New! Added the printAutoCenterHorizontally and printAutoCenterVertically properties to PrintFilePDF.
    • New! Added docName prop to PrintFile class to specify the doc name shown by the print queue.
    • New! Added printerCommandsDocName prop to ClientPrintJob class to specify the doc name for raw commands shown by the print queue.
    • New! The JS getPrintersInfo function now also returns the printer's manufacturer name.
    • Clients App
      • New! ALL - Added support for TLS 1.3 protocol.
      • New! WINDOWS - Added auto-detection of Proxy System Settings. Must be enabled from JSPM App Settings dialog.
      • Improved! WINDOWS - Print Jobs Watcher processing. Two new JSON fields are now also returned, change-reason & change-reason-description.
      • New! ANDROID - Added support for printing to IP/Ethernet printers through NetworkPrinter class.
      • New! ANDROID - Added support for TCP BIDI Communication.
      • New! DESKTOP - Support for UI I18N/Localization (AR/DE/EN/ES/FR/HE/HI/IT/JP/PT/RU/ZH)


Version 6.0

  • Maintenance Release (2023-09-11)
    • New! JSPrintManager native app for Android (supporting Bluetooth raw commands printing only).

  • Maintenance Release (2023-08-24)
    JSPrintManager.js patched to v6.0.3
    • Fixed! `You have to specify an address` error when using BluetoothPrinter class.

  • Maintenance Release (2023-08-17)
    JSPrintManager.js patched to v6.0.2
    • Fixed! JSPM.JSPrintManager.start() func when calling it more than once.

  • Maintenance Release (2023-07-21)
    JSPrintManager.js patched to v6.0.1
    • New! Added showProgressUI prop to ClientScanJob to show or hide the progress UI. (Windows only).

  • Main Release (2023-06-01)
    • New! Added BluetoothPrinter class for printing to printers supporting BT Classic (RFCOMM protocol).
    • New! BIDI Bluetooth communication support for devices supporting BT Classic (RFCOMM protocol).
    • New! Added JS getBluetoothDevices function to get list of Bluetooth devices available in the client system.
    • New! Custom paper settings support (through paperName prop) for InstalledPrinter class.
    • New! Added printScale prop to PrintFilePDF class to print PDF files with scaling.
    • New! Added mediaType prop to InstalledPrinter class.
    • New! Added mediaTypes array property to getPrintersInfo output containing the list of media types supported by each printer.
    • New! Added JS getMediaTypes function to get the list of supported Media Types for the specified printer.
    • New! Added customPaperSupport property to getPrintersInfo output. This tells whether the printer allows custom paper size setting.
    • New! Added customPapers array property to getPrintersInfo output containing the list of custom papers supported by each printer. (Windows only)
    • New! Added isFax property to getPrintersInfo output. (Windows only)
    • New! Added printer's Icon to getPrintersInfo extended version. (Windows only)
    • New! Added printer's LanguagesSupportedNames to getPrintersInfo extended version. (Windows only)
    • New! Added showUI prop to ClientScanJob to use the scanner driver UI when scanning. (Windows only)
    • New! Added macOS Icon image for printers through the JS getPrintersInfo function. (macOS only)


Version 5.0

  • Maintenance Release (2023-04-27)
    JSPrintManager.js patched to v5.0.4
    • New! Added refreshPrinters function to force a refresh of the installed printers info.

  • Maintenance Release (2023-01-24)
    JSPrintManager.js patched to v5.0.3
    • New! Added driverModel prop to InstalledPrinter class to specify the Windows Driver Model 3 or 4.

  • Maintenance Release (2022-08-30)
    JSPrintManager.js patched to v5.0.2
    • Fixed! Removed ref to old V4 WS port.

  • Maintenance Release (2022-08-04)
    JSPrintManager.js patched to v5.0.1
    • New! Added support for Multi-user Sessions scenario through the JS getIntances & getUser functions.

  • Main Release (2022-06-25)
    • New! Added Windows Icon image for printers through the JS getPrintersInfo function. Support for various icon sizes through the new PrinterIcon enum.
    • New! Added JS getClientAppInfo function to get the Version, OS and CPU of the JSPrintManager Client App running at the client machine.
    • New! Added JS getMAC function to get the Media Access Control (MAC) address of the client machine.
    • New! Added support to InstalledPrinter class for automatically detecting Raw Mode Data Type based on the Windows printer driver model. Enable it by setting autoDetectRawModeDataType prop to true.
    • New! Added JS getDefaultTrayName and getDefaultPaperName functions to get the default Tray Name and Paper Name for the specified printer.
    • New! Added JS getTrays and getPapers functions to get the list of supported Trays and Papers for the specified printer.
    • New! Added JS getPaperInfo function to get paper related info (width, height, printable area) for the specified printer and paper name.
    • New! Added support for printing files from external URLs bypassing CORS restriction. Added ExternalURL option to FileSourceType enum.
    • New! Bidirectional TCP Communication support through the new TcpComm class. Send/Write & Receive/Read data to any IP Address and Port reachable from the client system. The Address requires to be in the client's allow list!
    • New! Added JPG Compression Quality setting for image scan output.
    • New! Added Black and White pixel mode support for image scan output.
    • New! Added TIFF image format support for scan output.
    • New! Added PDF document format support for scan output.
    • New! Added UI Settings dialog which features Sites Manager (Allow/Block list), Proxy info, and Certificate CA & SAN edition. NOTE: CA custom setting is allowed for White Label Licenses only!
    • New! Added UI client app Logs view available from the system tray icon.


Version 4.0

  • Maintenance Release (2022-03-21)
    JSPrintManager.js patched to v4.0.7
    • Fixed! JSPrintManager onError was not handling WS onerror.

  • Maintenance Release (2022-01-26)
    JSPrintManager.js patched to v4.0.5
    • Fixed! function do not exist.

  • Maintenance Release (2021-12-15)
    JSPrintManager.js patched to v4.0.4
    • Fixed! PrintFilePDF serialization when source type is set to Base64.

  • Maintenance Release (2021-12-03)
    JSPrintManager.js patched to v4.0.3
    • Improved! Moved to JS modules.

  • Maintenance Release (2021-10-14)
    JSPrintManager.js patched to v4.0.2
    • New! Added onError event to WS.
    • Fixed! PrintFile serialization when source type is set to Base64.

  • Maintenance Release (2021-08-19)
    JSPrintManager.js patched to v4.0.1
    • Fixed! stop function did not close websocket completely.

  • Main Release (2021-06-30)
    • New! PrintFileGroup class to treat and print a group of files (Mix Images, PDF & TXT) as they were part of a single multipage document with duplex printing support.
    • New! Added advanced Multipage TIF printing (Print as Grayscale, Rotation, Page Range, Duplex, Sizing, Auto Center, and Auto Rotate) through the new PrintFileTIF class.
    • New! Added native support for the following Image formats: Windows or OS/2 Bitmap File (*.BMP), Dr. Halo (*.CUT), DirectDraw Surface (*.DDS), ILM OpenEXR (*.EXR), Raw Fax format CCITT G3 (*.G3), Graphics Interchange Format (*.GIF), High Dynamic Range (*.HDR), Windows Icon (*.ICO), Amiga IFF (*.IFF, *.LBM), JPEG-2000 codestream (*.J2K, *.J2C), JPEG Network Graphics (*.JNG), JPEG-2000 File Format (*.JP2), Independent JPEG Group (*.JPG, *.JIF, *.JPEG, *.JPE), JPEG XR image format (*.JXR, *.WDP, *.HDP), Commodore 64 Koala format (*.KOA), Multiple Network Graphics (*.MNG), Portable Bitmap (ASCII) (*.PBM), Portable Bitmap (BINARY) (*.PBM), Kodak PhotoCD (*.PCD), Zsoft Paintbrush PCX bitmap format (*.PCX), Portable Floatmap (*.PFM), Portable Graymap (ASCII) (*.PGM), Portable Graymap (BINARY) (*.PGM), Macintosh PICT (*.PCT, *.PICT, *.PIC), Portable Network Graphics (*.PNG), Portable Pixelmap (ASCII) (*.PPM), Portable Pixelmap (BINARY) (*.PPM), Adobe Photoshop (*.PSD), Sun Rasterfile (*.RAS), RAW camera image (CRW/CR2, NEF, RAF, DNG, MOS, KDC, DCR, etc), Silicon Graphics SGI image format (*.SGI), Truevision Targa files (*.TGA, *.TARGA), Tagged Image File Format (*.TIF, *.TIFF), Wireless Bitmap (*.WBMP), Google WebP image format (*.WEBP), X11 Bitmap Format (*.XBM), X11 Pixmap Format (*.XPM).
    • New! Manual duplex printing support for text plain files through PrintFileTXT class.
    • New! Scanner support for duplex and feeder (ADF) options under Windows Clients.
    • New! UI for managing sites permissions.
    • BREAKING CHANGES
      • WIA scanner drivers are no longer supported. Please install TWAIN driver for the affected scanner device.


Version 3.0

  • Maintenance Release (2021-03-27)
    JSPrintManager.js patched to v3.0.8
    • New! Added dsr, cts, rts, and dtr props to SerialComm class.

  • Maintenance Release (2021-02-19)
    JSPrintManager.js patched to v3.0.7
    • New! Added support for zip.js v2

  • Maintenance Release (2020-12-11)
    JSPrintManager.js patched to v3.0.6
    • Fixed! Removed JSPM.Serial.StopBits.None which is not a valid value.

  • Maintenance Release (2020-08-20)
    JSPrintManager.js patched to v3.0.5
    • Fixed! 'JSPM not defined' when importing JSPM module.

  • Maintenance Release (2020-08-12)
    JSPrintManager.js patched to v3.0.4
    • Fixed! Malformed message - Invalid License

  • Maintenance Release (2020-07-28)
    JSPrintManager.js patched to v3.0.3
    • Fixed! license_url setting throws "Uncaught TypeError: Cannot read property 'status' of undefined."

  • Maintenance Release (2020-07-22)
    JSPrintManager.js patched to v3.0.2
    • Fixed! license_url setting throws an error if websocket was not open.

  • Maintenance Release (2020-07-13)
    JSPrintManager.js patched to v3.0.1
    • Fixed! Support for IE11.

  • Main Release (2020-06-30)
    • New! All advanced PDF printing (Print as Grayscale, Print Annotations, Rotation, Page Range) in v2.0 that were available for Windows, now are available for macOS and Linux!
    • New! Added more PDF printing settings like Sizing (None & Fit), Auto Center, and Auto Rotate to PrintFilePDF class.
    • New! Printing Password-protected PDF files through PrintFilePDF class.
    • New! Added manual Duplex printing support for PDF files through PrintFilePDF class.
    • New! Added new PrintFileDOC class supporting *.docx, *.docm, *.dotx, *.dotm, *.doc, *.dot, *.rtf, and *.odt file formats. NOTE: For Windows clients only. Requires Microsoft Word 97+!
    • New! Support for printing Password-protected DOC files, and options like manual Duplex, Pages Range through the brand new PrintFileDOC class. NOTE: For Windows clients only. Requires Microsoft Word 97+!
    • New! Added new PrintFileXLS class supporting *.xl, *.xlsx, *.xlsm, *.xlsb, *.xlam, *.xltx, *.xltm, *.xls, *.xla, *.xlt, *.xlm, *.xlw and *.ods file formats. NOTE: For Windows clients only. Requires Microsoft Excel 97+!
    • New! Support for printing Password-protected XLS files, and Pages Range setting through the brand new PrintFileXLS class. NOTE: For Windows clients only. Requires Microsoft Excel 97+!
    • New! Added Duplex printing options (Default, Simplex, Vertical, Horizontal) to InstalledPrinter based on the built-in duplex support of the target printer.
    • New! Added None option to TextAlignment enum for printing txt files as is i.e. without any alignment.
    • New! Get list of Fonts available in the client system.
    • New! Get list of Serial/COM ports available in the client system.
    • New! Scan documents and images from TWAIN/WIA/SANE-compatible scanner devices specifying DPI/resolution, Pixel Mode (Grayscale, Color) and the desired output image format (JPEG/JPG, PNG).
    • New! Get list of scanner devices available in the client system.
    • New! Bidirectional (BIDI) Serial Port (RS-232, COM & TTY) Communication support.
    • New! PrintFileTXT now supports sources from files, URL, BLOB, and Base64.
    • BREAKING CHANGES
      • 32-bit JSPM Client App for Mac and Linux are no longer supported. Only 64-bit macOS and Linux are supported.
      • Serial Port Data Bits is now an enumeration called JSPM.Serial.DataBits
      • JSPM.WSStatus.Blacklisted renamed to JSPM.WSStatus.Blocked


Version 2.0

  • Maintenance Release (2020-01-02)
    JSPrintManager.js patched to v2.0.4
    • Improved! Added Node.js exports and JS window instances.

  • Maintenance Release (2019-12-10)
    JSPrintManager.js patched to v2.0.3
    • New! License cache for better performance and support for offline scenarios.
    • New! Added JSPM.JSPrintManager.license_url to allow license setting on external server/URL.

  • Maintenance Release (2019-05-17)
    JSPrintManager.js patched to v2.0.2
    • Fixed! Raw commands encoding for chars in the range [128-255]/[80-FF].

  • Maintenance Release (2019-05-15)
    JSPrintManager.js patched to v2.0.1
    • Fixed! Error "Invalid ClientJob: Invalid printer type" when using JSPM.NetworkPrinter class.

  • Main Release (2019-01-20)
    • New! Print PDF silently without Adobe Reader or FoxIt Reader dependencies for Windows Clients!
    • New! PDF file custom printing settings like Print as Grayscale, Print Annotations, Rotation, Page Range and more! Refer to the PrintFilePDF class in the help doc
    • New! TXT file custom printing now featuring settings like Print Orientation, Text Alignment (Justify, Left, right, center); output font name, size, color and style (bold, italic, underline, strikethrough) and margins! Refer to the PrintFileTXT class in the help doc
    • New! Get Installed Printers from the client with useful info about them like PortName, Is Connected, Is Shared, Is Local, Is Network, DPI Resolution, as well as the list of supported Papers and list of trays/bins. With this info it's possible to infer whether a given device is a real/physical printer or a virtual printer
    • New! InstalledPrinter class now supports Tray Name and Paper Name settings. NOTE: The supported file formats allowed for these new settings are BMP, JPG, PNG, TXT and PDF
    • New! Print Server Mode which allows printing scenarios where mobile/sandboxed devices (running iOS, Android, Chrome OS, etc.) and Terminal Services/Citrix environments are involved
    • New! Support for non-Admin user accounts
    • Improved! Memory Managment and WebSockets communication


Version 1.0

  • Maintenance Release (2018-07-27)
    JSPrintManager.js patched to v1.0.2
    • Fixed! Honoring UTF8 BOM for raw printer commands.

  • Maintenance Release (2018-07-24)
    JSPrintManager.js patched to v1.0.1
    • Fixed! UTF8 string to Byte Array conversion.
    • Improved! WebSocket connection.

  • Initial Release (2018-07-16)