API Docs for: 1.0.0
Show:

PrintService Class

Provides information about the printer device, allows to print plain HTML, HTML page by URL, image, image by URL, PDF, PDF by URL.

Constructor

PrintService

()

Methods

addAvailabilityChangedListener

(
  • handler
)
Void

Inherited from DeviceService:

Adds listeners to AvailabilityChanged event.

Parameters:

  • handler Function

    A function that handles the event. The function that has a single parameter of boolean type and does not return a value.

Returns:

Void:

Example:

var connector = new buildingLink.Connector();

// Handles AvailabilityChanged event.
var onAvailabilityChanged = function(isAvailable) {
    alert("Service availability changed: " + isAvailable);
};

var connectionSuccededCallback = function() {
    // Adds listener to AvailabilityChanged event for any service: connector.barcodeScanService.addAvailabilityChangedListener(), connector.fingerprintReaderService.addAvailabilityChangedListener().
    connector.idCardScanService.addAvailabilityChangedListener(onAvailabilityChanged);
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

addSelectedPrinterChangedListener

(
  • handler
)
Void

Adds listeners to SelectedPrinterChanged event.

Parameters:

  • handler Function

    A function that handles the event. The function that has a single parameter of type Device and does not return a value.

Returns:

Void:

Example:

var connector = new buildingLink.Connector();

// Handles SelectedPrinterChanged event.
var onSelectedPrinterChanged = function(printer) {
    var alertMessage;
    if (printer) {
        alertMessage = "Selected printer changed. New printer: " + printer.modelName;
    } else {
        alertMessage = "Selected printer changed.";
    }
    alert(alertMessage);
};

var connectionSuccededCallback = function() {
    // Adds listener to SelectedPrinterChanged event.
    connector.printService.addSelectedPrinterChangedListener(onSelectedPrinterChanged);
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

getIsAvailableAsync

() Promise | Boolean async

Inherited from DeviceService:

Allows to determine whether device is available.

Returns:

Promise | Boolean:

A promise of the result that returns true if device is available or false otherwise in case of success.

Example:

var connector = new buildingLink.Connector();

var connectionSuccededCallback = function() {
    // Gets whether device service is available or no. This method is common for all services and can be used like: connector.autoDialerService.getIsAvailableAsync(), connector.fingerprintReaderService.getIsAvailableAsync(), etc.
    connector.webCameraService.getIsAvailableAsync().then(function (isAvailable) {
        if (isAvailable) {
            alert("Service is available.");
        } else {
            alert("Service is not available.");
        }
    });
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

getSelectedPrinterAsync

() Promise | Device async

Gets selected printer device.

Returns:

Promise | Device:

A promise of the result that returns a device in case of success.

Example:

// Creates a shortcut to avoid using long references to FailureReason below in code.
var FailureReason = buildingLink.connector.services.FailureReason;

var connector = new buildingLink.Connector();

// Defines failure handler for operation with device.
var failureGetSelectedPrinterHandler = function(failureReason) {
    var failureMessage;
    switch (failureReason) {
        case FailureReason.ServiceNotAvailable:
            failureMessage = "No attached Printers.";
            break;
        case FailureReason.InternalError:
            failureMessage = "Internal error occured.";
            break;
        default:
            throw new Error("failureReason");
    }
    alert(failureMessage);
};

var connectionSuccededCallback = function() {
    // Gets selected printer device.
    connector.printService.getSelectedPrinterAsync().then(function (printer) {
        alert("Printer name: " + printer.name + "\n" + "Printer model name: " + printer.modelName); // Shows printer name and model.
    }, failureGetSelectedPrinterHandler);
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

printHtmlAsync

(
  • html
  • printSettings
  • numberOfCopies
)
Promise | Void async

Prints the plain HTML.

Parameters:

  • html String

    HTML to be printed.

  • printSettings PrintSettings

    Print settings.

  • numberOfCopies Number

    [numberOfCopies=1] Number of copies to print.

Returns:

Promise | Void:

A promise of the result.

Example:

// Creates shortcuts to avoid using long references to FailureReason, PrintSettings, Margins, and PaperSize below in code.
var FailureReason = buildingLink.connector.services.FailureReason;
var PrintSettings = buildingLink.connector.services.printing.PrintSettings;
var Margins = buildingLink.connector.services.printing.Margins;
var PaperSize = buildingLink.connector.services.printing.PaperSize;

var connector = new buildingLink.Connector();

// Defines failure handler for operation with device.
var failurePrintHandler = function(failureReason) {
    var failureMessage;
    switch (failureReason) {
        case FailureReason.ServiceNotAvailable:
            failureMessage = "No attached Printers.";
            break;
        case FailureReason.InternalError:
            failureMessage = "Internal error occured.";
            break;
        default:
            throw new Error("failureReason");
    }
    alert(failureMessage);
};

// Defines HTML and settings for printing.
var html = "<!DOCTYPE html><html xmlns='http://www.w3.org/1999/xhtml'><head></head><body><h1>Day Guest Pass - #120</h1><div>SCTL - Development South</div><div><label>Valid From:</label><span><span>Thursday</span><span>3/12/15</span><span>8:02 PM</span></span></div></body></html>";
var margins = new Margins();
var paperSize = PaperSize.createA4();
var printSettings = new PrintSettings(margins, paperSize);

var connectionSuccededCallback = function() {
    // Prints 2 copies of HTML string with print settings.
    connector.printService.printHtmlAsync(html, printSettings, 2).then(function () {
        alert("HTML printed.");
    }, failurePrintHandler);
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

printHtmlFromUrlAsync

(
  • htmlUrl
  • printSettings
  • numberOfCopies
)
Promise | Void async

Prints HTML from URL.

Parameters:

  • htmlUrl String

    The URL of HTML page to print.

  • printSettings PrintSettings

    Print settings.

  • numberOfCopies Number

    [numberOfCopies=1] Number of copies to print.

Returns:

Promise | Void:

A promise of the result.

Example:

// Creates shortcuts to avoid using long references to FailureReason, PrintSettings, Margins, and PaperSize below in code.
var FailureReason = buildingLink.connector.services.FailureReason;
var PrintSettings = buildingLink.connector.services.printing.PrintSettings;
var Margins = buildingLink.connector.services.printing.Margins;
var PaperSize = buildingLink.connector.services.printing.PaperSize;

var connector = new buildingLink.Connector();

// Defines failure handler for operation with device.
var failurePrintHandler = function(failureReason) {
    var failureMessage;
    switch (failureReason) {
        case FailureReason.ServiceNotAvailable:
            failureMessage = "No attached Printers.";
            break;
        case FailureReason.InternalError:
            failureMessage = "Internal error occured.";
            break;
        default:
            throw new Error("failureReason");
    }
    alert(failureMessage);
};

// Defines settings for printing.
var margins = new Margins();
var paperSize = PaperSize.createA4();
var printSettings = new PrintSettings(margins, paperSize);

var connectionSuccededCallback = function() {
    // Prints HTML from URL with print settings. Note, that URL should be in the same domain as requesting page.
    connector.printService.printHtmlFromUrlAsync("/printparkingpermit.aspx?id=123456789&layout=Half", printSettings, 1).then(function () {
        alert("HTML printed.");
    }, failurePrintHandler);
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

printImageAsync

(
  • serializedImage
  • printSettings
  • numberOfCopies
)
Promise | Void async

Prints image.

Parameters:

  • serializedImage String

    Serialized image to print.

  • printSettings PrintSettings

    Print settings.

  • numberOfCopies Number

    [numberOfCopies=1] Number of copies to print.

Returns:

Promise | Void:

A promise of the result.

Example:

// Creates shortcuts to avoid using long references to FailureReason, PrintSettings, Margins, and PaperSize below in code.
var FailureReason = buildingLink.connector.services.FailureReason;
var PrintSettings = buildingLink.connector.services.printing.PrintSettings;
var Margins = buildingLink.connector.services.printing.Margins;
var PaperSize = buildingLink.connector.services.printing.PaperSize;

var connector = new buildingLink.Connector();

// Defines failure handler for operation with device.
var failurePrintHandler = function(failureReason) {
    var failureMessage;
    switch (failureReason) {
        case FailureReason.ServiceNotAvailable:
            failureMessage = "No attached Printers.";
            break;
        case FailureReason.InternalError:
            failureMessage = "Internal error occured.";
            break;
        default:
            throw new Error("failureReason");
    }
    alert(failureMessage);
};

// Defines settings and image for printing.
var margins = new Margins();
var paperSize = PaperSize.createA4();
var printSettings = new PrintSettings(margins, paperSize);
var imageBase64 = "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAtSURBVBhXY/iPA4AkGDAAVAIih86AUEAAVorEhdK4JOBCCAaEgwagEljA//8AYDWDfZh+fIQAAAAASUVORK5CYII=";

var connectionSuccededCallback = function() {
    // Prints base64 image with print settings.
    connector.printService.printImageAsync(imageBase64, printSettings).then(function () {
        alert("Image printed.");
    }, failurePrintHandler);
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

printImageFromUrlAsync

(
  • imageUrl
  • printSettings
  • numberOfCopies
)
Promise | Void async

Prints image from URL.

Parameters:

  • imageUrl String

    The URL of image to print.

  • printSettings PrintSettings

    Print settings.

  • numberOfCopies Number

    [numberOfCopies=1] Number of copies to print.

Returns:

Promise | Void:

A promise of the result.

Example:

// Creates shortcuts to avoid using long references to FailureReason, PrintSettings, Margins, and PaperSize below in code.
var FailureReason = buildingLink.connector.services.FailureReason;
var PrintSettings = buildingLink.connector.services.printing.PrintSettings;
var Margins = buildingLink.connector.services.printing.Margins;
var PaperSize = buildingLink.connector.services.printing.PaperSize;

var connector = new buildingLink.Connector();

// Defines failure handler for operation with device.
var failurePrintHandler = function(failureReason) {
    var failureMessage;
    switch (failureReason) {
        case FailureReason.ServiceNotAvailable:
            failureMessage = "No attached Printers.";
            break;
        case FailureReason.InternalError:
            failureMessage = "Internal error occured.";
            break;
        default:
            throw new Error("failureReason");
    }
    alert(failureMessage);
};

// Defines settings for printing.
var margins = new Margins();
var paperSize = PaperSize.createA4();
var printSettings = new PrintSettings(margins, paperSize);

var connectionSuccededCallback = function() {
    // Prints image from URL with print settings. Note, that image should be in the same domain as requesting page.
    connector.printService.printImageFromUrlAsync("/Barcode.aspx?ImageType=Gif", printSettings).then(function () {
        alert("Image printed.");
    }, failurePrintHandler);
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

printPdfFromUrlAsync

(
  • pdfUrl
  • printSettings
  • numberOfCopies
)
Promise | Void async

Prints PDF from URL.

Parameters:

  • pdfUrl String

    The URL of PDF to print.

  • printSettings PrintSettings

    Print settings.

  • numberOfCopies Number

    [numberOfCopies=1] Number of copies to print.

Returns:

Promise | Void:

A promise of the result.

Example:

// Creates shortcuts to avoid using long references to FailureReason, PrintSettings, Margins, and PaperSize below in code.
var FailureReason = buildingLink.connector.services.FailureReason;
var PrintSettings = buildingLink.connector.services.printing.PrintSettings;
var Margins = buildingLink.connector.services.printing.Margins;
var PaperSize = buildingLink.connector.services.printing.PaperSize;

var connector = new buildingLink.Connector();

// Defines failure handler for operation with device.
var failurePrintHandler = function(failureReason) {
    var failureMessage;
    switch (failureReason) {
        case FailureReason.ServiceNotAvailable:
            failureMessage = "No attached Printers.";
            break;
        case FailureReason.InternalError:
            failureMessage = "Internal error occured.";
            break;
        default:
            throw new Error("failureReason");
    }
    alert(failureMessage);
};

// Defines settings for printing.
var margins = new Margins();
var paperSize = PaperSize.createA4();
var printSettings = new PrintSettings(margins, paperSize);

var connectionSuccededCallback = function() {
    // Prints image from URL with print settings. Note, that PDF should be in the same domain as requesting page.
    connector.printService.printPdfFromUrlAsync("/parkingPermit.pdf", printSettings).then(function () {
        alert("Image printed.");
    }, failurePrintHandler);
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

removeAvailabilityChangedListener

(
  • handler
)
Void

Inherited from DeviceService:

Removes listeners from AvailabilityChanged event.

Parameters:

  • handler Function

    A function that handles the event. The function that has a single parameter of boolean type and does not return a value.

Returns:

Void:

Example:

var connector = new buildingLink.Connector();

// Handles AvailabilityChanged event.
var onAvailabilityChanged = function(isAvailable) {
    alert("Service availability changed: " + isAvailable);
};

var connectionSuccededCallback = function() {
    // Adds listener to AvailabilityChanged event for any service: connector.signaturePadService.addAvailabilityChangedListener(), connector.autoDialerService.addAvailabilityChangedListener().
    connector.idCardScanService.addAvailabilityChangedListener(onAvailabilityChanged);

    // Removes AvailabilityChanged listener in 5 seconds for any service: connector.signaturePadService.removeAvailabilityChangedListener(), connector.autoDialerService.removeAvailabilityChangedListener().
    setTimeout(function (){
        connector.idCardScanService.removeAvailabilityChangedListener(onAvailabilityChanged);
        alert("AvailabilityChanged listener."); // Observe that notifications will be stopped after this alert.
    }, 5000);
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

removeSelectedPrinterChangedListener

(
  • handler
)
Void

Removes listeners from SelectedPrinterChanged event.

Parameters:

  • handler Function

    A function that handles the event. The function that has a single parameter of type Device and does not return a value.

Returns:

Void:

Example:

var connector = new buildingLink.Connector();

// Handles SelectedPrinterChanged event.
var onSelectedPrinterChanged = function(printer) {
    alert("Selected printer changed.");
};

var connectionSuccededCallback = function() {
    // Adds listeners to SelectedPrinterChanged event.
    connector.printService.addSelectedPrinterChangedListener(onSelectedPrinterChanged);

    // Removes SelectedPrinterChanged listener in 5 seconds.
    setTimeout(function (){
        connector.printService.removeSelectedPrinterChangedListener(onSelectedPrinterChanged);
    }, 5000);
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);

showSettingsAsync

() Promise | Void async

Inherited from DeviceService:

Allows to show device settings in Connector app.

Returns:

Promise | Void:

A promise of the result.

Example:

var connector = new buildingLink.Connector();

var connectionSuccededCallback = function() {
    // Shows device settings for selected service. This method is common for all services and can be used: connector.idCardScanService.showSettingsAsync(), connector.barcodeScanService.showSettingsAsync(), etc.
    connector.printService.showSettingsAsync();
};

var connectionClosedCallback = function(connectionError) {
    alert("Connection failed."); // Shows connection failure message.
};

connector.activate(connectionSuccededCallback, connectionClosedCallback);