ScriptX - Controlled and Consistent Print Output
  • Getting started
  • My Account
  • Downloads
  • Features
    • ScriptX.Services
    • ScriptX.Add-on
  • Pricing & Licensing
    • ScriptX.Services
    • ScriptX.Add-on
    • Deployment
  • Case Studies
  • About Us
  • Blog
  • Developers
    • Knowledge Bank 
      • ‘How To’ Guides
      • Technical Reference
      • Samples
    • About ScriptX.Services
    • Developer Downloads
    • Codestore
    • Community
  • Contact
Developers ›  Knowledge Bank ›  Technical Reference ›  ScriptX.Add-on ›  printing ›  PrintHTMLEx

PrintHTMLEx

Description (requires ScriptX v7 or later)

This method is an enhanced version of PrintHTML.

Prints either specified HTML text or the HTML document specified by the URL using the current printing settings in the same session context. The method is asynchronous. It returns before the document is downloaded and printed. Notifications are sent to the supplied callback function to give details on progress of processing.

Important note: The HTML to be printed must not be ‘ScriptX-enabled’ - it must not contain an object tag referencing the ScriptX object nor script code that uses that object. Attempting to print HTML (either specified HTML text or a document specified by url) that contains the ScriptX object can lead to strange errors and failure of the entire printing process, including causing Internet Explorer to stop responding.

PrintHTMLEx should not be used with OwnQueue.

Syntax

printing.PrintHTML(url, prompt, callback, callbackdata)

Returns false if printing with a prompt and the user cancels the printing.

Parameter Description
url (String) URL/HTML text to print:
Protocol Prints
html://... html to print ...

The HTML is loaded and printed, e.g. html://<html><head><title>Dynamic Printing</title></head><body>Hello world!</body></html>

Print behaviour is as with ScriptX 7 and earlier unless the content starts with <!DOCTYPE html> in which case modern standards will be enabled. The mode can be forced using html5:// or html4:// - see below.

html5://... html to print ... The HTML is loaded and printed with modern standards enabled.
html4://... html to print ... The HTML is loaded and printed with modern standards disabled, behaviour is as with ScriptX 7 and earlier.
http://, https:// or if no protocol specified The document is downloaded and printed. A relative (to the current page) URL may be given.
Note: The target document at 'url' must NOT be ‘ScriptX-enabled’.
url4://[http|https]:// The document url is taken as the value following the literal value "url4://" and is downloaded and printed with modern standards disabled, behaviour is as with ScriptX 7 and earlier. A relative (to the current page) URL may not be given.
Note: The target document must NOT be ‘ScriptX-enabled’.
prompt (Bool) Specifies whether or not the user should be prompted before the download is queued
callback Specifies the function to call when various events occur during the processing of the queue entry.
Syntax: callback(status, statusData, callbackdata)
Status Description
1 The request has been queued.
2 Processing of the request has started.
3 The document is being downloaded. The url is in statusData.
4 Document download has completed. The url of the downloaded document is in statusData.
5 The document is being printed.
6 The request has been completed.
-1 An error has occured, statusData will contain a description.
-2 The entry has been abandoned.
callbackdata Specifies the data to pass to the callback function.
Support for "Modern" standards (aka Edge where "Edge" is the IE 11 definition).

Version 8.2 introduces the following:

  • When printing a downloaded document if the host document is in IE 11 edge mode then printHtml() will be enabled to print modern content. If the document does not print properly then change the host document to use an older document mode and printHtml() will then use the pre ScriptX 8 way of working, alternatively:

    • The use of pre ScriptX 8 behaviour can be forced using the url4:// pseudo protocol.

  • When printing dynamic content using the html:// pseudo protocol then the pre ScriptX way of working will be used unless the dynamic content starts with <!DOCTYPE html>, or:

    • The support of modern standards can be forced using the html5:// pseudo protocol.
    • The use of pre ScriptX 8 behaviour can be forced using the html4:// pseudo protocol.

Please note that all jobs in a queue will use the same mode of working. The mode can be changed if the queue is empty. The PrintHtmlEx callback on a job being queued will report the mode of the queue.

Examples

Check out a ScriptX printHTMLEx sample.

The following simple but complete example shows how to print an externally-located document:

  • Knowledge Bank
  • 'How To' Guides
    • 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
      • MeadCoScriptXJS Library
      • License deployment
      • Client-side printing samples
    • ScriptX.Services
      • Introduction
      • Getting started
      • 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
      • MeadCoScriptXJS Library
      • Printing with the API
      • Installing ScriptX.Services
        • For Windows PC v1
        • For On Premise Devices hosted on Windows Server v1
        • For On Premise Devices hosted on Windows 10 v1
        • Cloud
      • 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
  • Technical Reference
    • 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
    • ScriptX.Services
      • Web service API
        • Service Description
          • (GET)
        • Licensing
          • licensing (GET)
          • licensing (POST)
          • licensing/ping (GET)
        • 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)
    • 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
  • Articles
    • Dialogs with ScriptX.Services
 
© 2025 Mead & Co Limited. Version: 4.2.8-R.20210726.1 | Privacy Policy
© 2025 Mead & Co Limited. v1.0.2
X

Warning:

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