ScriptX logotype
  • Getting started
  • Documentation
  • Samples
  • Pricing
Free Trial Downloads
  • Home
  • Getting started
  • Documentation
  • Samples
  • Pricing
Developers ›  Knowledge Bank ›  Technical Reference ›  ScriptX.Services ›  Web ServiceAPI Reference ›  PrintPdf ›  print (POST)

print (POST)

{server}/api/v1/printPdf/print

Description

(requires v2.8 or later)

Print PDF document content with given PDF printing and device settings.

See also the OpenAPI (Swagger) definition.

Applies to:

  • ScriptX.Services for Cloud
  • ScriptX.Services for On-Premise Devices (Authorisation header is ignored)
  • ScriptX.Services for Windows PC

Request parameters


{
    PrintPdfDescription {
        document (string, required),
        description (string, optional),
        device (DevicePrintSettings, optional),
        settings (PdfPrintSettings, optional),
        protectedContentAccess (AccessControl,optional)
    }
    DevicePrintSettings {
        printerName (string, optional),
        printToFileName (string, optional),
        paperSizeName (string, optional),
        paperSourceName (string, optional),
        collate (integer, optional): 0 = Default, 1 = True, 2 = False,
        copies (integer, optional),
        duplex (integer, optional): 0 = Default, 1 = Simplex, 2 = Vertical, 3 = Horizontal
    }
    PdfPrintSettings {
        pageRange (string, optional),
        pageScaling (integer, optional): 0 = None, 1 = FitToPaper, 2 = ShrinkLargePages, -1 = Undefined,
        autoRotateCenter (integer, optional): 0 = Default, 1 = True, 2 = False,
        orientation (integer, optional): 0 = Default, 1 = Landscape, 2 = Portrait,
        normalise (boolean, optional),
        printQuality (integer, optional): 0 = Normal, 1 = High, 2 = Lossless
    }
    AccessControl {
        cookie (string, optional)
    }
}

PrintPdfDescription:
document (string, required)
The URI to the PDF document to print or a data URL including the base64 encoded document content.
For example: "data:application/pdf;base64, .. encoded pdf data .."
description (string, optional)
Optional string that can be used for tracking jobs.
device (DevicePrintSettings, optional)
Settings for printer/device as described in the DevicePrintSettings class.
settings (PdfPrintSettings, optional)
Settings for print job content as described in the PdfPrintSettings class.
DevicePrintSettings:
printerName (string, optional)
Name of the printer/device on the server to be used for the print job.
printToFileName (string, optional)
The full path specification of the file name to save print output to. The file created doesn't accumulate subsequent printouts and (for security reasons) doesn't get overwritten if it already exists. Specify a new filename for each new printout.
paperSizeName (string, optional)
Name of paper size to use for the print job.
paperSourceName (string, optional)
Name of paper source (or bin) to use for the print job (eg. 'Upper tray').
collate (integer, optional)
Collation for the print job. Value can be 0 (Default), 1 (True) or 2 (False).
copies (integer, optional)
Number of copies to be printed.
duplex (integer, optional)
Type of duplex to be used for the print job. Value can be 0 (Default), 1 (Simplex ie. not Duplex), 2 (Vertical duplex) or 3 (Horizontal duplex).
PdfPrintSettings:
pageRange (string, optional)
String that determines which pages of the printed output to print eg. "1,3,5-8" will print pages 1, 3, 5, 6, 7 and 8.
pageScaling (integer, optional)
Option to scale pages. Value can be 0 (No scaling), 1 (Fit to paper), 2 (Shrink large pages) or -1 (Undefined).
autoRotateCenter (integer, optional)
Indicates whether pages should be rotated to fit on the paper and centered. If this parameter is not given it will be set to 1 (True) if pageScaling is 1. Value can be 0 (Default), 1 (True) or 2 (False).
orientation (integer, optional)
Setting for page orientation. Value can be 0 (Default), 1 (Landscape) or 2 (Portrait).
normalise (boolean, optional)
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.
printQuality (integer, optional)
Option to request the print quality to be used. Value can be 0 (Normal), 1 (High) or 2 (Lossless).
AccessControl:

ScriptX Server 10.4.0 or later is required.

10.4.8 and later support multiple cookies as required by systems such as Cold Fusion.

cookie (string, optional)
The cookie to be used to authorise access to protected content in the form name=value. With ScriptX Server 10.4.8 and later multiple name=value pairs can be given with | separating each pair.

Response model


Print {
    status (integer, optional): 1 = QueuedToDevice, 2 = QueuedToFile, 3 = SoftError, 4 = Ok,
    jobIdentifier (string, optional),
    message (string, optional)
}

Print:
status (integer, optional)
Code indicating initial status of submitted job. 1 (Queued to device), 2 (Queued to file), 3 (Soft error), 4 (Ok)
jobIdentifier (string, optional)
Returns the job token which can then be used in status calls to monitor job progress and (if printing to a PDF file) download to download the output file.
message
Returns error message if status is 3, otherwise returns empty string.

Example usage


async function sendPDFPrintRequest() {
    const requestData = {
        document: "https://scriptxservices.meadroid.com/Content/Test1.pdf",
        description: "Info pamphlet",
        device: {
            paperSizeName: "A5"
        },
        settings: {
            pageScaling: 2,
            printQuality: 1
        }
    };

    const headers = new Headers({
        "Content-Type": "application/json",
        "Authorization": "Basic " + btoa("13598d2f-8724-467b-ae64-6e53e9e9f644" + ":")
    });

    try {
        const response = await fetch("https://scriptxservices.meadroid.com/api/v1/printPdf/print", {
            method: "POST",
            headers: headers,
            body: JSON.stringify(requestData)
        });

        if (!response.ok) {
            throw new Error('Network response was not ok');
        }

        const data = await response.json();

        if (data.status !== 3) {
            // call print job monitoring function see: statusGET
            monitorJobProgress(data.jobIdentifier);
        }
    } catch (error) {
        console.error('There has been a problem with your fetch operation:', error);
        // handle failure
    }
}

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