ScriptX logotype
  • Getting started
  • Documentation
  • Samples
  • Pricing
Free Trial Downloads
  • Home
  • Getting started
  • Documentation
  • Samples
  • Pricing
Developers ›  Knowledge Bank ›  How To Guides ›  ScriptX.Services ›  MeadCoScriptXJS Library

MeadCoScriptXJS Library

Introduction

The  ScriptX.Services Client Library delivers an emulation of the ScriptX.Addon API in javascript to any browser with javascript enabled.

The emulation level is excellent though there are some necessary, but small, differences between the implementations, in particular the emulation of asynchronous behaviours.

The  MeadCoScriptXJS Library library delivers useful and significant simplifications for coding:

  1. Single functions that encapsulate the differences between ScriptX.Addon and ScriptX.Services enabling a single code base to work with both.

  2. Some operations that require a few lines of script are wrapped into a more usable form in a single function call.

  3. Some functions return a Promise() which enables simpler asynchronous coding and supports use of async in code.

These libraries are used throughout our samples to illustrate 'single source' across all versions and implementations of ScriptX. It is free to use and deploy, and works with both free and licensed ScriptX.Addon and all implementations of ScriptX.Services. Obviously use of licensed functionality on ScriptX.Addon still requires a license.

Download

The library is available on GitHub in source form:  MeadCoScriptXJS Library (open source with an MIT license).

Please see the Github repo for packaging options, which include CDN, NPM and Nuget.

Using the library

  1. To use the library, download it from a suitable source and add it to your project or reference via a CDN.

  2. Link to the implementation file, this will be meadco-scriptx-{version}.js in documents using ScriptX. For example:

            
                    <script src="/scripts/meadco-scriptx-1.10.1.js" type="text/javascript"></script>
            
        
  3. Initialise the library in the document ready/window loaded event handler, and initialise printing parameters. For example, with jQuery and to check the license was accepted before making calls:

            
                    <script type="text/javascript">
                        // Note: It is assumed that attribute based configuration on the script elements
                        // has been used.
                        $(window).load(async () => {
                            try {
                                await MeadCo.ScriptX.InitAsync();
    
                                MeadCo.ScriptX.Printing.SetMarginMeasure(2);
                                with (MeadCo.ScriptX.Printing) {
                                    header = "MeadCo's ScriptX&b:&p of &P:&bPrinting Sample";
                                    footer = "The de facto standard for advanced web-based printing";
                                    orientation = "landscape";
                                    topMargin = 1;
                                    leftMargin = 1;
                                }
    
                                $("#btnprint").click(async () => {
                                    MeadCo.ScriptX.Printing.PrintHTML("http://www.meadroid.com", false);
    
                                    showPrintingModal();
                                    await MeadCo.ScriptX.WaitForSpoolingComplete();
                                    hidePrintingModal();
                                });
    
                            }
                            catch (e) {
                                console.error(e);
                                alert("Error while printing: " + e.message);
                            }
                        });
    
                    </script>
            
        

Summary of features in the library

  • The namespace MeadCo.ScriptX contains a number of useful functions for initialising the library and accessing commonly required functionality.
  • The namespace MeadCo.Licensing contains functionality for checking that a license was accepted.
  • The object MeadCo.ScriptX.Utils is the ‘factory’ object.
  • The object MeadCo.ScriptX.Printing is the ‘factory.printing’ object.

  • Knowledge Bank
  • 'How To' Guides
    • ScriptX.Services
      • Introduction
      • Getting started
      • Evaluate with modern code
      • Maintaining investment in current code
        • Stage 1: Adding UI
        • Stage 2: Printing with ScriptX.Services
        • Stage 3: Summary and review
        • Stage 4: Error reporting
        • Stage 5: Prompted printing
        • Stage 6: Preparing for advanced uses
        • Stage 7: WaitForSpoolingComplete
        • Stage 8: Recommendations for some common issues
      • Printing with the API
      • MeadCoScriptXJS Library
      • Installing ScriptX.Services
        • For Windows PC
        • For On Premise Devices hosted on Windows Server
        • For On Premise Devices hosted on Windows 10/11
        • Configure options For On Premise Devices
        • Cloud
      • Orchestrator
      • Debugging
      • License deployment
        • For Windows PC
        • For On Premise Devices
      • Samples
        • Configure for Windows PC
        • Configure for On Premise
        • Configure for Cloud
    • Security Manager
      • Deploying a license or revision
    • ScriptX.Add-on
      • Introduction
      • Installing ScriptX on client PCs
      • Basic printing with ScriptX
      • Advanced printing features
      • Backwards compatibility
      • How to check if ScriptX is installed
      • License deployment
      • Quick start with Visual Studio
        • ASP.NET MVC
        • ASP.NET Web Forms
      • Nuget Packages
        • MeadCoScriptXJS Library
        • Installer helpers
        • ASP.NET WebForms Controls
        • Helpers for ASP.NET MVC
      • Client-side printing samples
  • Technical Reference
    • ScriptX.Services
      • Web service API
        • Service Description
          • (GET)
        • Licensing
          • licensing (GET)
          • licensing (POST)
          • licensing/ping (GET)
        • Printer
          • settings (GET)
          • current (GET)
          • current (PUT)
          • connection (PUT)
          • connection (DELETE)
        • PrintHtml
          • settings (GET)
          • deviceinfo (GET)
          • htmlPrintDefaults (GET)
          • print (POST)
          • status (GET)
          • download (GET)
          • canceljob (PUT)
        • PrintPdf
          • print (POST)
          • status (GET)
          • download (GET)
        • PrintDirect
          • print (POST)
      • Orchestrator API
        • v1
          • GET
        • v2
          • PUT
          • GET
      • ScriptX.Services compatibility roadmap
    • Security Manager
      • How it works
      • License Expiry
      • Testing for a valid license
      • About the license file (.mlf)
        • LICENSE
        • APPLICENSE
        • TITLE
        • DOMAINS
        • DOMAIN
        • PERMISSION
      • API
        • Apply
        • License
        • result
        • validLicense
    • ScriptX.Add-on
      • factory
        • baseUrl
        • ComponentVersionString
        • IsUniqueIDAvailable
        • OnDocumentComplete
        • relativeUrl
        • ResetUniqueID
        • ScriptXVersion
        • SecurityManagerVersion
        • Shutdown
        • UniqueID
      • printing
        • AddPrinterConnection
        • BatchPrintPDF
        • BatchPrintPDFEx
        • bottomMargin
        • collate
        • copies
        • currentPrinter
        • DefaultPrinter
        • disableUI
        • duplex
        • duplex2
        • EnumJobs
        • EnumPrinters
        • footer
        • GetJobsCount
        • GetMarginMeasure
        • header
        • headerFooterFont
        • IsSpooling
        • IsTemplateSupported
        • leftMargin
        • onafterprint
        • onbeforeprint
        • onbeforeunload
        • onpagesetup
        • onuserpagesetup
        • onuserprint
        • onuserprintpreview
        • orientation
        • OwnQueue
        • pageHeight
        • PageSetup
        • pageWidth
        • paperSize
        • paperSource
        • paperSource2
        • portrait
        • Preview
        • Print
        • printBackground
        • printer
        • PrintHTML
        • PrintHTMLEx
        • PrintPDF
        • PrintSetup
        • printToFileName
        • RemovePrinterConnection
        • rightMargin
        • SetMarginMeasure
        • SetPageRange
        • SetPreviewZoom
        • SetPrintScale
        • Sleep
        • templateURL
        • topMargin
        • TotalPrintPages
        • unprintableBottom
        • unprintableLeft
        • unprintableRight
        • unprintableTop
        • WaitForSpoolingComplete
      • printerControl
        • attributes
        • Bins
        • Forms
        • isLocal
        • isNetwork
        • isShared
        • Jobs
        • location
        • name
        • Pause
        • port
        • Purge
        • Resume
        • serverName
        • shareName
        • status
      • Job
        • Delete
        • Pause
        • Restart
        • Resume
      • enhancedFormatting
        • allFooterHeight
        • allHeaderHeight
        • allPagesFooter
        • allPagesHeader
        • extraFirstFooterHeight
        • extraFirstPageFooter
        • firstFooterHeight
        • firstHeaderHeight
        • firstPageFooter
        • firstPageHeader
        • pageRange
        • printingPass
      • rawPrinting
        • printer
        • printDocument
        • printString
    • Change and history logs
    • Articles
      • v1.15.x ScriptX Client Library
      • Dialogs with ScriptX.Services
      • Accessing protected content
      • Long term servicing (LTS)
 
ScriptX logotype
Home Getting started Documentation Samples Contact us

© 2025 Mead & Co Limited.

Follow us:
LinkedIn   GitHub
X

Warning:

This ScriptX.Add-on sample can only be viewed using Internet Explorer.