scriptxprint-html

1.15.1 • Public • Published

MeadCo ScriptX.Services Client Library

GitHub release (latest SemVer) npm Nuget
MIT License

The MeadCo ScriptX.Services Client Library offers an emulation of the MeadCo�s ScriptX Add-on for Internet Explorer on Windows, extending its functionality to any browser on any device. This is achieved by integrating with MeadCo ScriptX.Services, which can be located:

When used in conjunction with the MeadCoScriptXJS library, this emulation ensures a high degree of compatibility with in-browser scripts originally written for the ScriptX.Add-on. This allows the same code to be executed with either the ScriptX.Add-on for Internet Explorer or ScriptX Services, depending on the client device/browser.

This library enables applications that previously relied on the ScriptX.Addon for Internet Explorer to be updated to function with evergreen browsers, without necessitating a significant re-write. While much of the existing code will continue to operate unmodified, some code may require updates. A comprehensive discussion outlines the few potential challenges.

Our extensive set of samples demonstrates the use of the library.

The primary motivation for developing this library was to facilitate a seamless transition for �old but valuable code� to function in evergreen browsers. When used in combination with the MeadCoScriptXJS library, it also provides a quick start to modern coding practices with client-side queue management.

From version 1.15 onwards, there is no dependency on jQuery.

Packages

NPM Use

npm install scriptxprint-html --save

Example CDN Use


jsDelivr hits (npm)

For the complete library supporting Cloud, On Premise and Windows PC services:

<script src="https://cdn.jsdelivr.net/npm/scriptxprint-html@1.15/dist/meadco-scriptxservices.min.js"></script>

Or, for print only to cloud/on premise services,

<script src="https://cdn.jsdelivr.net/npm/scriptxprint-html@1.15/dist/meadco-scriptxservicesprint.min.js"></script>

Nuget Gallery

MeadCo ScriptX.Print Services Library

Quick start with ScriptX.Services for Microsoft Windows PC

  1. Download and install ScriptX.Services for Microsoft Windows (x64) PC
  2. Link to the required libraries with service connection details
  3. Initialise the MeadCoScriptXJS library
  4. Initialise print parameters
<!-- MeadCoScriptXJS Library -->
<script src="https://cdn.jsdelivr.net/npm/meadco-scriptxjs@1/src/meadco-scriptx.min.js"></script>

<!-- Use an evaluation license id for the value of data-meadco-license : the current id can be found here https://support.meadroid.com/deploy/services/ -->
<script src="https://cdn.jsdelivr.net/npm/scriptxprint-html@1/dist/meadco-scriptxservicesprint.min.js" 
        data-meadco-server="http://127.0.0.1:41991" 
        data-meadco-license="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
        data-meadco-license-path="warehouse"
        data-meadco-license-revision="0"
        data-meadco-syncinit="false"
        ></script>

<script type="text/javascript">
   window.addEventListener("load",async () => {
      try {
       await MeadCo.ScriptX.InitAsync();
       MeadCo.ScriptX.Printing.header = 
          "MeadCo's ScriptX&b:&p of &P:&bBasic Printing Sample";
       MeadCo.ScriptX.Printing.footer = 
          "The de facto standard for advanced web-based printing";
       MeadCo.ScriptX.Printing.orientation = "landscape";

       document.getElementById("btnprint").addEventListener("click",async () => {
            MeadCo.ScriptX.PrintPage(false);

            await MeadCo.ScriptX.WaitForSpoolingComplete();

            window.location.href = "MenuStart.html";
       });
      }
      catch (e) {
        console.error("Error on load",e);
      }
   });
</script>

Or, if using jQuery :

<!-- ScriptX Services client emulation libraries optionally use jQuery. It is not a dependency -->
<script src="https://cdn.jsdelivr.net/npm/jquery@3/dist/jquery.min.js"></script>

<!-- MeadCoScriptXJS Library -->
<script src="https://cdn.jsdelivr.net/npm/meadco-scriptxjs@1/src/meadco-scriptx.min.js"></script>

<!-- .Addon emulation, connect to server with publishing license id. -->
<!-- Use an evaluation license id for the value of data-meadco-license : the current id can be found here https://support.meadroid.com/deploy/services/ -->
<script src="https://cdn.jsdelivr.net/npm/scriptxprint-html@1/dist/meadco-scriptxservicesprint.min.js" 
        data-meadco-server="http://127.0.0.1:41991" 
        data-meadco-license="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
        data-meadco-license-path="warehouse"
        data-meadco-license-revision="0"
        data-meadco-syncinit="false"
        ></script>

<script type="text/javascript">
   $(window).on('load', function () {
     MeadCo.ScriptX.InitAsync().then(function {
       MeadCo.ScriptX.Printing.header = 
          "MeadCo's ScriptX&b:&p of &P:&bBasic Printing Sample";
       MeadCo.ScriptX.Printing.footer = 
          "The de facto standard for advanced web-based printing";
       MeadCo.ScriptX.Printing.orientation = "landscape";
       $("#btnprint").click(function() { 
            MeadCo.ScriptX.PrintPage(false);
       });
     })      
   });
</script>

Quick start - ScriptX.Services on Cloud for any browser

  1. Sign up for a subscription identifier
  2. Link to the required libraries with service connection details
  3. Initialise the MeadCoScriptXJS library
  4. Initilise print parameters
<!-- MeadCoScriptXJS Library -->
<script src="https://cdn.jsdelivr.net/npm/meadco-scriptxjs@1/src/meadco-scriptx.min.js"></script>

<!-- Use an evaluation license id for the value of data-meadco-license : the current id can be found here https://support.meadroid.com/deploy/services/ -->
<script src="https://cdn.jsdelivr.net/npm/scriptxprint-html@1/dist/meadco-scriptxservicesprint.min.js" 
        data-meadco-server="https://scriptxservices.meadroid.com" 
        data-meadco-subscription="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
        data-meadco-syncinit="false"
        ></script>

<script type="text/javascript">
   window.addEventListener("load",async () => {
      try {
       await MeadCo.ScriptX.InitAsync();

       MeadCo.ScriptX.Printing.header = 
          "MeadCo's ScriptX&b:&p of &P:&bBasic Printing Sample";
       MeadCo.ScriptX.Printing.footer = 
          "The de facto standard for advanced web-based printing";
       MeadCo.ScriptX.Printing.orientation = "landscape";

       document.getElementById("btnprint").adEventListener("click",async () => {
            MeadCo.ScriptX.PrintPage(false);

            await MeadCo.ScriptX.WaitForSpoolingComplete();

            window.location.href = "MenuStart.html";
       });
      }
      catch (e) {
        console.error("Error on load",e);
      }
   });
</script>

Or, if using jQuery :

<!-- ScriptX Services client emulation libraries optionally use jQuery. It is not a dependency -->
<script src="https://cdn.jsdelivr.net/npm/jquery@3/dist/jquery.min.js"></script>

<!-- MeadCoScriptXJS Library -->
<script src="https://cdn.jsdelivr.net/npm/meadco-scriptxjs@1/src/meadco-scriptx.min.js"></script>

<!-- .Addon emulation, connect to cloud server with registered use id. -->
<script src="https://cdn.jsdelivr.net/npm/scriptxprint-html@1/dist/meadco-scriptxservicesprint.min.js" 
        data-meadco-server="https://scriptxservices.meadroid.com" 
        data-meadco-subscription="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
        data-meadco-syncinit="false"
        ></script>

<script type="text/javascript">
   $(window).on('load', function () {
     MeadCo.ScriptX.InitAsync().then(function {
       MeadCo.ScriptX.Printing.header = 
          "MeadCo's ScriptX&b:&p of &P:&bBasic Printing Sample";
       MeadCo.ScriptX.Printing.footer = 
          "The de facto standard for advanced web-based printing";
       MeadCo.ScriptX.Printing.orientation = "landscape";
       $("#btnprint").click(function() { 
            MeadCo.ScriptX.PrintPage(false);
       });
     })      
   });
</script>

Quick start - ScriptX.Services On Premise

  1. Download and install ScriptX.Services for On Premise Devices
  2. Request and install an evaluation license
  3. Link to the required libraries with service connection details
  4. Initialise the MeadCoScriptXJS library
  5. Initilise print parameters

Remove all references to ScriptX.Addon (i.e. the <object /> elements as ScriptX.Addon can only print to locally installed printers).

A promise polyfill is required if the browser does not support promises (for example Internet Explorer). We recommend (and test with) Promise Polyfill

<!-- ScriptX Services client emulation libraries optionally use jQuery. It is not a dependency -->
<script src="https://cdn.jsdelivr.net/npm/jquery@3/dist/jquery.min.js"></script>

<!-- MeadCoScriptXJS Library -->
<script src="https://cdn.jsdelivr.net/npm/meadco-scriptxjs@1/src/meadco-scriptx.min.js"></script>

<!-- .Addon code emulation, connect to on premnie server, no subscription id is required as it is the srver that is licensed.
<script src="https://cdn.jsdelivr.net/npm/scriptxprint-html@1/dist/meadco-scriptxservicesprint.min.js" 
        data-meadco-server="http://<yourlocalserver>/scriptxservices/" 
        data-meadco-subscription=""></script>

<script type="text/javascript">
   $(window).on('load', function () {
     MeadCo.ScriptX.InitAsync().then(function {
       MeadCo.ScriptX.Printing.header = 
          "MeadCo's ScriptX&b:&p of &P:&bBasic Printing Sample";
       MeadCo.ScriptX.Printing.footer = 
          "The de facto standard for advanced web-based printing";
       MeadCo.ScriptX.Printing.orientation = "landscape";
       $("#btnprint").click(function() { 
            MeadCo.ScriptX.PrintPage(false);
       });
     })      
   });
</script>

Resources

License

Released under the MIT license.

Copyright (c) 2017-2024, Mead & Co Limited.

Package Sidebar

Install

npm i scriptxprint-html

Weekly Downloads

90

Version

1.15.1

License

MIT

Unpacked Size

814 kB

Total Files

19

Last publish

Collaborators

  • cpcjones
  • petecole