ScriptX logotype
  • Getting started
  • Documentation
  • Samples
  • Pricing
Free Trial Downloads
  • Home
  • Getting started
  • Documentation
  • Samples
  • Pricing
Developers ›  Knowledge Bank ›  Technical Reference ›  ScriptX.Add-on ›  printing ›  PrintPDF

PrintPDF

Description

Downloads and prints a PDF document - the method will not return until the download and print has completed.

For greater control over printing, such as being able to select paper size and source and the printer to use and for a responsive experience for the user, please see the BatchPrintPDF method.

Please note that the spool-size of printed PDF documents when printing with an Enhanced PDF Printing license may be larger than expected with consequences for performance. Please evaluate performance is acceptable.

This updated functionality now requires v7 or later of ScriptX and an Enhanced PDF Printing license.

Please contact MeadCo sales for details.

Syntax

printing.PrintPDF(PDF[, prompt = true[, shrinkToFit = true [, from = -1[, to = -1]]])

Argument Description
PDF Anonymous javascript object with members describing print parameters. The member value url must be present and contain the location of the document to be printed, as illustrated below.
prompt [Optional] (Bool) Indicates whether or not to prompt the user before printing
shrinkToFit [Optional] (Bool) Shrink the PDF page to fit the paper, true by default
from [Optional] (Number) Print from the specified page, all pages by default
to [Optional] (Number) Print to the specified page, all pages by default

Example


<body>

    <input id=idPrint type="button" value="Print the PDF"
            onclick="PrintPDF()">

    <!-- MeadCo Security Manager - using evaluation license -->
    <object viewastext style="display:none"
        classid="clsid:5445be81-b796-11d2-b931-002018654e2e"
        codebase="smsx.cab#Version=8,3,0,4">
            <param name="GUID" value="{8f351de0-5990-45c3-8fd2-8037b878939f}">
            <param name="Path" value="sxlic.mlf">
            <param name="Revision" value="0">
    </object>

    <!-- MeadCo ScriptX -->
    <object id="factory" viewastext style="display:none"
        classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814">
    </object>

    <script>
        function PrintPDF() {
            factory.printing.PrintPDF({ url: "example.pdf" });
        }    
    </script>

</body>

Additional parameters

The anonymous object must contain the required value url and may contain a number of additional optional parameters:

Parameter Description
url [Required] the location of the document to be printed.
pagescaling (int)
0 = no scaling
1 = fit to paper
2 = shrink large pages
If given, the shrinkToFit argument is ignored.
autorotatecenter (bool) indicates whether pages should be rotated to fit on the paper and centered. If this parameter is not given then it will be set to true if shrinkToFit is true or pageScaling is 1.
orientation [Unprompted only] (int) Specifies the orentation for printing:
1 = portrait
2 = landscape
pages [Unprompted only, v7.3 and later] (string) specifies the list of pages to print, for example "1-10,12,14". If given then the arguments from and to are ignored.
monochrome [Unprompted only, v7.4.5 and later] (bool) specifies if monochrome printing should be used. This option is known not to work with some HP printers due to issues in HP print drivers. Monochrome can be set in prompted printing by changing the printer preferences.
normalise (Bool) Indicates whether or not the pages should be processed to ensure drawing operations are at the expected positions. This option may assist if documents do not print as required.

Example


<body>

    <input id=idPrint type="button" value="Print the PDF"
            onclick="PrintPDF()">

    <!-- MeadCo Security Manager - using evaluation license -->
    <object viewastext style="display:none"
        classid="clsid:5445be81-b796-11d2-b931-002018654e2e"
        codebase="smsx.cab#Version=8,3,0,4">
            <param name="GUID" value="{8f351de0-5990-45c3-8fd2-8037b878939f}">
            <param name="Path" value="sxlic.mlf">
            <param name="Revision" value="0">
    </object>

    <!-- MeadCo ScriptX -->
    <object id="factory" viewastext style="display:none"
        classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814">
    </object>

    <script>
        function PrintPDF() {
            factory.printing.PrintPDF(
            { url: "example.pdf",
                orientation: 1,
                monochrome: true,
                pages: "1-3,5,9"
            },
            false);
        }    
    </script>

</body>

  • 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.