//// //// Canon Inkjet Printer Driver for Microsoft Windows //// Version 3.00 //// Copyright CANON INC. 2013 All Rights Reserved //// function getSchemas(driverProperties, printerStream, schemaRequests, printerSchemaResponses) { var nRetVal = 0; var index = 0; var bFlagStatus = false; var bFlagCapability = false; var statusResponse = ''; var strCapability = ''; var key = ''; var requestSchema = ''; if( printerStream === null || schemaRequests === null || printerSchemaResponses === null ) { return nRetVal; } for ( index = 0; index < schemaRequests.length; index++ ) { key = schemaRequests[index]; if (key === '\\Printer.Canon.IJ.Info.ReadData:Value' || key === '\\Printer.Canon.IJ.Info.GetStatus:Value' || key === '\\Printer.Status.Summary:State' || key === '\\Printer.Status.Summary:StateReason' ) { bFlagStatus = true; } if (key === 'Configuration') { bFlagCapability = true; } if (bFlagStatus && bFlagCapability) { break; } } if(bFlagStatus || bFlagCapability) { statusResponse = getStatusResponse(printerStream); if(bFlagCapability && !isBusyState( statusResponse ) ) { strCapability = getCapabilityData( printerStream ); } } else { return nRetVal; } for ( index = 0; index < schemaRequests.length; index++ ) { requestSchema = schemaRequests[index]; if ( requestSchema === '\\Printer.Canon.IJ.Info.ReadData:Value' || requestSchema === '\\Printer.Canon.IJ.Info.GetStatus:Value' || requestSchema === '\\Printer.Status.Summary:State' || requestSchema === '\\Printer.Status.Summary:StateReason' ) { setStatusSchemaResponse(requestSchema, statusResponse, printerSchemaResponses); } else if(requestSchema === 'Configuration') { nRetVal = setCapabilitySchemaResponse( requestSchema, strCapability, printerSchemaResponses ); } } return nRetVal; } function setSchema( driverProperties, printerStream, printerSchemaElement ) { var nRetVal = 0; var writeData = []; if( printerStream === null || printerSchemaElement === null ) { return nRetVal; } if( printerSchemaElement.name === '\\Printer.Canon.IJ.Info.SendRAWData:Value' ) { var receiveData = printerSchemaElement.value; var nMaxSize = 3145728; if ( receiveData.length > 0 && receiveData.length <= nMaxSize ) { var anTempData =[]; var nValue = 0; var nCounter = 0; var nCodeValue = 0; for ( nCounter = 0; nCounter < receiveData.length; nCounter++ ) { nCodeValue = receiveData.charCodeAt( nCounter++ ); if ( nCodeValue >= 48 && nCodeValue <= 57 ) { nValue = ( nCodeValue - 48 ) << 4; } else if ( nCodeValue >= 65 && nCodeValue <= 70 ) { nValue = ( nCodeValue - 55 ) << 4; } else if ( nCodeValue >= 97 && nCodeValue <= 102 ) { nValue = ( nCodeValue - 87 ) << 4; } else { nRetVal = -1; break; } nCodeValue = receiveData.charCodeAt( nCounter ); if ( nCodeValue >= 48 && nCodeValue <= 57 ) { nValue += ( nCodeValue - 48 ); } else if ( nCodeValue >= 65 && nCodeValue <= 70 ) { nValue += ( nCodeValue - 55 ); } else if ( nCodeValue >= 97 && nCodeValue <= 102 ) { nValue += ( nCodeValue - 87 ); } else { nRetVal = -1; break; } anTempData.push( nValue ); } if( nCounter === receiveData.length ) { printerStream.write( writeData.concat( anTempData ) ); } } } else if( printerSchemaElement.name === '\\Printer.Canon.IJ.Command:CL' ) { writeData = [0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x3f, 0x3e, 0x3c, 0x63, 0x6d, 0x64, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x69, 0x76, 0x65, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x32, 0x30, 0x30, 0x38, 0x2f, 0x30, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x62, 0x69, 0x64, 0x69, 0x3e, 0x30, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x62, 0x69, 0x64, 0x69, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x2f, 0x63, 0x6d, 0x64, 0x3e, 0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x3f, 0x3e, 0x3c, 0x63, 0x6d, 0x64, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x69, 0x76, 0x65, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x32, 0x30, 0x30, 0x38, 0x2f, 0x30, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x22, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x76, 0x63, 0x6e, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x32, 0x30, 0x30, 0x38, 0x2f, 0x30, 0x37, 0x2f, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2f, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x56, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x43, 0x6d, 0x64, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x3e, 0x3c, 0x76, 0x63, 0x6e, 0x3a, 0x69, 0x6a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x4d, 0x6f, 0x64, 0x65, 0x53, 0x68, 0x69, 0x66, 0x74, 0x3c, 0x2f, 0x76, 0x63, 0x6e, 0x3a, 0x69, 0x6a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x76, 0x63, 0x6e, 0x3a, 0x69, 0x6a, 0x6d, 0x6f, 0x64, 0x65, 0x3e, 0x31, 0x3c, 0x2f, 0x76, 0x63, 0x6e, 0x3a, 0x69, 0x6a, 0x6d, 0x6f, 0x64, 0x65, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x2f, 0x63, 0x6d, 0x64, 0x3e, 0x1b, 0x5b, 0x4b, 0x2, 0x0, 0x0, 0x1f, 0x42, 0x4a, 0x4c, 0x53, 0x54, 0x41, 0x52, 0x54, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x3d, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0xa, 0x24, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x3d, 0x4d, 0x6e, 0x74, 0xa, 0x42, 0x4a, 0x4c, 0x45, 0x4e, 0x44, 0xa, 0x1b, 0x5b, 0x4b, 0x2, 0x0, 0x0, 0x1f, 0x42, 0x4a, 0x4c, 0x53, 0x54, 0x41, 0x52, 0x54, 0xa, 0x40, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x69, 0x6e, 0x67, 0x3d, 0x31, 0x41, 0x4c, 0x4c, 0xa, 0x42, 0x4a, 0x4c, 0x45, 0x4e, 0x44, 0xa, 0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x3f, 0x3e, 0x3c, 0x63, 0x6d, 0x64, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x69, 0x76, 0x65, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x32, 0x30, 0x30, 0x38, 0x2f, 0x30, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x45, 0x6e, 0x64, 0x4a, 0x6f, 0x62, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x2f, 0x63, 0x6d, 0x64, 0x3e]; printerStream.write(writeData); } else if( printerSchemaElement.name === '\\Printer.Canon.IJ.Command:NC' ) { writeData = [0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x3f, 0x3e, 0x3c, 0x63, 0x6d, 0x64, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x69, 0x76, 0x65, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x32, 0x30, 0x30, 0x38, 0x2f, 0x30, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x62, 0x69, 0x64, 0x69, 0x3e, 0x30, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x62, 0x69, 0x64, 0x69, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x2f, 0x63, 0x6d, 0x64, 0x3e, 0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x3f, 0x3e, 0x3c, 0x63, 0x6d, 0x64, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x69, 0x76, 0x65, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x32, 0x30, 0x30, 0x38, 0x2f, 0x30, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x22, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x76, 0x63, 0x6e, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x32, 0x30, 0x30, 0x38, 0x2f, 0x30, 0x37, 0x2f, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2f, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x56, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x43, 0x6d, 0x64, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x3e, 0x3c, 0x76, 0x63, 0x6e, 0x3a, 0x69, 0x6a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x4d, 0x6f, 0x64, 0x65, 0x53, 0x68, 0x69, 0x66, 0x74, 0x3c, 0x2f, 0x76, 0x63, 0x6e, 0x3a, 0x69, 0x6a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x76, 0x63, 0x6e, 0x3a, 0x69, 0x6a, 0x6d, 0x6f, 0x64, 0x65, 0x3e, 0x31, 0x3c, 0x2f, 0x76, 0x63, 0x6e, 0x3a, 0x69, 0x6a, 0x6d, 0x6f, 0x64, 0x65, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x2f, 0x63, 0x6d, 0x64, 0x3e, 0x1b, 0x5b, 0x4b, 0x2, 0x0, 0x0, 0x1f, 0x42, 0x4a, 0x4c, 0x53, 0x54, 0x41, 0x52, 0x54, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x3d, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0xa, 0x24, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x3d, 0x4d, 0x6e, 0x74, 0xa, 0x42, 0x4a, 0x4c, 0x45, 0x4e, 0x44, 0xa, 0x1b, 0x5b, 0x4b, 0x2, 0x0, 0x0, 0x1f, 0x42, 0x4a, 0x4c, 0x53, 0x54, 0x41, 0x52, 0x54, 0xa, 0x40, 0x54, 0x65, 0x73, 0x74, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x3d, 0x4e, 0x6f, 0x7a, 0x7a, 0x6c, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0xa, 0x42, 0x4a, 0x4c, 0x45, 0x4e, 0x44, 0xa, 0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x3f, 0x3e, 0x3c, 0x63, 0x6d, 0x64, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x69, 0x76, 0x65, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x32, 0x30, 0x30, 0x38, 0x2f, 0x30, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x45, 0x6e, 0x64, 0x4a, 0x6f, 0x62, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x2f, 0x63, 0x6d, 0x64, 0x3e]; printerStream.write(writeData); } else if( printerSchemaElement.name === '\\Printer.Canon.IJ.Command:NCFR' ) { writeData = [0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x3f, 0x3e, 0x3c, 0x63, 0x6d, 0x64, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x69, 0x76, 0x65, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x32, 0x30, 0x30, 0x38, 0x2f, 0x30, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x62, 0x69, 0x64, 0x69, 0x3e, 0x30, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x62, 0x69, 0x64, 0x69, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x2f, 0x63, 0x6d, 0x64, 0x3e, 0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x3f, 0x3e, 0x3c, 0x63, 0x6d, 0x64, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x69, 0x76, 0x65, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x32, 0x30, 0x30, 0x38, 0x2f, 0x30, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x22, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x76, 0x63, 0x6e, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x32, 0x30, 0x30, 0x38, 0x2f, 0x30, 0x37, 0x2f, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2f, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x56, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x43, 0x6d, 0x64, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x3e, 0x3c, 0x76, 0x63, 0x6e, 0x3a, 0x69, 0x6a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x4d, 0x6f, 0x64, 0x65, 0x53, 0x68, 0x69, 0x66, 0x74, 0x3c, 0x2f, 0x76, 0x63, 0x6e, 0x3a, 0x69, 0x6a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x76, 0x63, 0x6e, 0x3a, 0x69, 0x6a, 0x6d, 0x6f, 0x64, 0x65, 0x3e, 0x31, 0x3c, 0x2f, 0x76, 0x63, 0x6e, 0x3a, 0x69, 0x6a, 0x6d, 0x6f, 0x64, 0x65, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x2f, 0x63, 0x6d, 0x64, 0x3e, 0x1b, 0x5b, 0x4b, 0x2, 0x0, 0x0, 0x1f, 0x42, 0x4a, 0x4c, 0x53, 0x54, 0x41, 0x52, 0x54, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x3d, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0xa, 0x24, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x3d, 0x4d, 0x6e, 0x74, 0xa, 0x42, 0x4a, 0x4c, 0x45, 0x4e, 0x44, 0xa, 0x1b, 0x5b, 0x4b, 0x2, 0x0, 0x0, 0x1f, 0x42, 0x4a, 0x4c, 0x53, 0x54, 0x41, 0x52, 0x54, 0xa, 0x40, 0x54, 0x65, 0x73, 0x74, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x3d, 0x4e, 0x6f, 0x7a, 0x7a, 0x6c, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x69, 0x6e, 0x32, 0xa, 0x42, 0x4a, 0x4c, 0x45, 0x4e, 0x44, 0xa, 0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x3f, 0x3e, 0x3c, 0x63, 0x6d, 0x64, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x69, 0x76, 0x65, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x32, 0x30, 0x30, 0x38, 0x2f, 0x30, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x45, 0x6e, 0x64, 0x4a, 0x6f, 0x62, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x2f, 0x63, 0x6d, 0x64, 0x3e]; printerStream.write(writeData); } else if( printerSchemaElement.name === '\\Printer.Canon.IJ.Command:NCRE' ) { writeData = [0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x3f, 0x3e, 0x3c, 0x63, 0x6d, 0x64, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x69, 0x76, 0x65, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x32, 0x30, 0x30, 0x38, 0x2f, 0x30, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x62, 0x69, 0x64, 0x69, 0x3e, 0x30, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x62, 0x69, 0x64, 0x69, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x2f, 0x63, 0x6d, 0x64, 0x3e, 0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x3f, 0x3e, 0x3c, 0x63, 0x6d, 0x64, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x69, 0x76, 0x65, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x32, 0x30, 0x30, 0x38, 0x2f, 0x30, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x22, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x76, 0x63, 0x6e, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x32, 0x30, 0x30, 0x38, 0x2f, 0x30, 0x37, 0x2f, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2f, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x56, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x43, 0x6d, 0x64, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x3e, 0x3c, 0x76, 0x63, 0x6e, 0x3a, 0x69, 0x6a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x4d, 0x6f, 0x64, 0x65, 0x53, 0x68, 0x69, 0x66, 0x74, 0x3c, 0x2f, 0x76, 0x63, 0x6e, 0x3a, 0x69, 0x6a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x76, 0x63, 0x6e, 0x3a, 0x69, 0x6a, 0x6d, 0x6f, 0x64, 0x65, 0x3e, 0x31, 0x3c, 0x2f, 0x76, 0x63, 0x6e, 0x3a, 0x69, 0x6a, 0x6d, 0x6f, 0x64, 0x65, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x2f, 0x63, 0x6d, 0x64, 0x3e, 0x1b, 0x5b, 0x4b, 0x2, 0x0, 0x0, 0x1f, 0x42, 0x4a, 0x4c, 0x53, 0x54, 0x41, 0x52, 0x54, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x3d, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0xa, 0x24, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x3d, 0x4d, 0x6e, 0x74, 0xa, 0x42, 0x4a, 0x4c, 0x45, 0x4e, 0x44, 0xa, 0x1b, 0x5b, 0x4b, 0x2, 0x0, 0x0, 0x1f, 0x42, 0x4a, 0x4c, 0x53, 0x54, 0x41, 0x52, 0x54, 0xa, 0x40, 0x54, 0x65, 0x73, 0x74, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x3d, 0x4e, 0x6f, 0x7a, 0x7a, 0x6c, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x69, 0x6e, 0x31, 0xa, 0x42, 0x4a, 0x4c, 0x45, 0x4e, 0x44, 0xa, 0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x3f, 0x3e, 0x3c, 0x63, 0x6d, 0x64, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x69, 0x76, 0x65, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x32, 0x30, 0x30, 0x38, 0x2f, 0x30, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x45, 0x6e, 0x64, 0x4a, 0x6f, 0x62, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x2f, 0x63, 0x6d, 0x64, 0x3e]; printerStream.write(writeData); } else if( printerSchemaElement.name === '\\Printer.Canon.IJ.Command:AR' ) { writeData = [0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x3f, 0x3e, 0x3c, 0x63, 0x6d, 0x64, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x69, 0x76, 0x65, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x32, 0x30, 0x30, 0x38, 0x2f, 0x30, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x62, 0x69, 0x64, 0x69, 0x3e, 0x30, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x62, 0x69, 0x64, 0x69, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x2f, 0x63, 0x6d, 0x64, 0x3e, 0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x3f, 0x3e, 0x3c, 0x63, 0x6d, 0x64, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x69, 0x76, 0x65, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x32, 0x30, 0x30, 0x38, 0x2f, 0x30, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x22, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x76, 0x63, 0x6e, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x32, 0x30, 0x30, 0x38, 0x2f, 0x30, 0x37, 0x2f, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2f, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x56, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x43, 0x6d, 0x64, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x3e, 0x3c, 0x76, 0x63, 0x6e, 0x3a, 0x69, 0x6a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x4d, 0x6f, 0x64, 0x65, 0x53, 0x68, 0x69, 0x66, 0x74, 0x3c, 0x2f, 0x76, 0x63, 0x6e, 0x3a, 0x69, 0x6a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x76, 0x63, 0x6e, 0x3a, 0x69, 0x6a, 0x6d, 0x6f, 0x64, 0x65, 0x3e, 0x31, 0x3c, 0x2f, 0x76, 0x63, 0x6e, 0x3a, 0x69, 0x6a, 0x6d, 0x6f, 0x64, 0x65, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x2f, 0x63, 0x6d, 0x64, 0x3e, 0x1b, 0x5b, 0x4b, 0x2, 0x0, 0x0, 0x1f, 0x42, 0x4a, 0x4c, 0x53, 0x54, 0x41, 0x52, 0x54, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x3d, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0xa, 0x24, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x3d, 0x4d, 0x6e, 0x74, 0xa, 0x42, 0x4a, 0x4c, 0x45, 0x4e, 0x44, 0xa, 0x1b, 0x5b, 0x4b, 0x2, 0x0, 0x0, 0x1f, 0x42, 0x4a, 0x4c, 0x53, 0x54, 0x41, 0x52, 0x54, 0xa, 0x40, 0x54, 0x65, 0x73, 0x74, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x3d, 0x52, 0x65, 0x67, 0x69, 0x5f, 0x41, 0x75, 0x74, 0x6f, 0x31, 0xa, 0x42, 0x4a, 0x4c, 0x45, 0x4e, 0x44, 0xa, 0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x3f, 0x3e, 0x3c, 0x63, 0x6d, 0x64, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x69, 0x76, 0x65, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x32, 0x30, 0x30, 0x38, 0x2f, 0x30, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x45, 0x6e, 0x64, 0x4a, 0x6f, 0x62, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x3e, 0x3c, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x6a, 0x6f, 0x62, 0x49, 0x44, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x3e, 0x3c, 0x2f, 0x69, 0x76, 0x65, 0x63, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3e, 0x3c, 0x2f, 0x63, 0x6d, 0x64, 0x3e]; printerStream.write(writeData); } return nRetVal; } function getStatus( driverProperties, printerStream, printerSchemaResponses ) { var nRetVal = 0; var statusResponse = ''; if( printerStream === null || printerSchemaResponses === null ) { return nRetVal; } statusResponse = getStatusResponse(printerStream); setStatusSchemaResponse('\\Printer.Canon.IJ.Info.ReadData:Value', statusResponse, printerSchemaResponses); setStatusSchemaResponse('\\Printer.Canon.IJ.Info.GetStatus:Value', statusResponse, printerSchemaResponses); setStatusSchemaResponse('\\Printer.Status.Summary:State', statusResponse, printerSchemaResponses); setStatusSchemaResponse('\\Printer.Status.Summary:StateReason', statusResponse, printerSchemaResponses); return nRetVal; } function readStream(printerStream) { var readString = ''; var anReadBuffer = []; var nReadBytes = 0; var nReadSize = 4096; for ( var i = 0; i < 100; i++ ) { anReadBuffer = printerStream.read( nReadSize ); nReadBytes = anReadBuffer.length; for (var j = 0; j < nReadBytes; j++ ) { readString += String.fromCharCode( anReadBuffer.shift() ); } if ( isEndOfRead( readString ) ) { break; } } return readString; } function readCapabilityStream(printerStream) { var strReadString = ''; var anReadBuffer = []; var writeData = []; var nReadBytes = 0; var nReadSize = 4096; writeData = [0x3C,0x3F,0x78,0x6D,0x6C,0x20,0x76,0x65,0x72,0x73,0x69,0x6F,0x6E,0x3D,0x22,0x31,0x2E,0x30,0x22,0x20,0x65,0x6E,0x63,0x6F,0x64,0x69,0x6E,0x67,0x3D,0x22,0x75,0x74,0x66,0x2D,0x38,0x22,0x20,0x3F,0x3E,0x3C,0x63,0x6D,0x64,0x20,0x78,0x6D,0x6C,0x6E,0x73,0x3A,0x69,0x76,0x65,0x63,0x3D,0x22,0x68,0x74,0x74,0x70,0x3A,0x2F,0x2F,0x77,0x77,0x77,0x2E,0x63,0x61,0x6E,0x6F,0x6E,0x2E,0x63,0x6F,0x6D,0x2F,0x6E,0x73,0x2F,0x63,0x6D,0x64,0x2F,0x32,0x30,0x30,0x38,0x2F,0x30,0x37,0x2F,0x63,0x6F,0x6D,0x6D,0x6F,0x6E,0x2F,0x22,0x3E,0x3C,0x69,0x76,0x65,0x63,0x3A,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x73,0x3E,0x3C,0x69,0x76,0x65,0x63,0x3A,0x6F,0x70,0x65,0x72,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x47,0x65,0x74,0x43,0x61,0x70,0x61,0x62,0x69,0x6C,0x69,0x74,0x79,0x3C,0x2F,0x69,0x76,0x65,0x63,0x3A,0x6F,0x70,0x65,0x72,0x61,0x74,0x69,0x6F,0x6E,0x3E,0x3C,0x69,0x76,0x65,0x63,0x3A,0x70,0x61,0x72,0x61,0x6D,0x5F,0x73,0x65,0x74,0x20,0x73,0x65,0x72,0x76,0x69,0x63,0x65,0x74,0x79,0x70,0x65,0x3D,0x22,0x70,0x72,0x69,0x6E,0x74,0x22,0x3E,0x3C,0x2F,0x69,0x76,0x65,0x63,0x3A,0x70,0x61,0x72,0x61,0x6D,0x5F,0x73,0x65,0x74,0x3E,0x3C,0x2F,0x69,0x76,0x65,0x63,0x3A,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x73,0x3E,0x3C,0x2F,0x63,0x6D,0x64,0x3E]; try { var writeSize = printerStream.write(writeData); for (var i = 0; i < 100; i++) { anReadBuffer = printerStream.read(nReadSize); nReadBytes = anReadBuffer.length; for (var j = 0; j < nReadBytes; j++) { strReadString += String.fromCharCode(anReadBuffer.shift()); } if (isEndOfRead(strReadString)) { var testflag = IsCapabilityResponse(strReadString); if(testflag) { break; } else { strReadString = ''; } } } } catch(e) { strReadString = ''; } return strReadString; } function IsCapabilityResponse(strReadString) { var bReturn = false; var searchValue = 'GetCapabilityResponse'; var bFlag = false; var operationData = GetTargetData(strReadString,'ivec:operation'); bFlag = IsExistString(operationData, searchValue); if(bFlag) { bReturn = true; } return bReturn; } function getReadData( readString ) { var nFromIndex = 0; var nToIndex = 0; var retString = ''; var searchTAG1 = 'cijn:ReadData'; var searchTAG2 = '>'; var searchTAG3 = '', startTagTop) + 1; endTagTop = ReadString.indexOf('', endTagTop) + 1; var startTag = ReadString.substring(startTagTop, startTagLast); if(startTag.indexOf(searchAttribute) < 0) { startTagTop = endTagLast; continue; } retValue = ReadString.substring(startTagLast, endTagTop); if (retValue === '') { break; } break; } return retValue; } function GetTargetData(ReadString, TargetElement) { var retValue = ''; var startTagTop = 0; var startTagLast = 0; var endTagTop = 0; var endTagLast = 0; while (true) { startTagTop = ReadString.indexOf(TargetElement, startTagTop); if (startTagTop < 0) { break; } startTagTop = ReadString.lastIndexOf('<', startTagTop); startTagLast = ReadString.indexOf('>', startTagTop) + 1; endTagTop = ReadString.indexOf('', endTagTop) + 1; retValue = ReadString.substring(startTagLast, endTagTop); if (retValue === '') { break; } break; } return retValue; } function IsExistString(ReadString, TargetString) { var bRetVal = false; var pos = ReadString.indexOf(TargetString); if(pos < 0) { bRetVal = false; } else { bRetVal = true; } return bRetVal; } function IsNotEmpty(ReadString) { var bRetVal = false; if(ReadString !== '') { bRetVal = true; } else { bRetVal = false; } return bRetVal; } function getStateVal( statusVal, key ) { var retString = ''; var tempString = ''; var sub = ''; var pos1 = 0; var pos2 = 0; if( typeof key !== 'string' || key === '' || typeof statusVal !== 'string' || statusVal === '' ) { return ''; } if( key === 'DWS' ) { pos1 = statusVal.indexOf( key + ':' ); if( pos1 !== -1 ) { sub = statusVal.substring(pos1 + key.length + 1, statusVal.length); pos2 = sub.indexOf(';'); tempString = sub.substring(0, pos2); if( tempString.indexOf( '1900' ) !== -1) { retString = '1900'; } else { retString = 'NO'; } } else { retString = ''; } } else if (key === 'DOC') { pos1 = statusVal.indexOf( key + ':' ); if( pos1 !== -1 ) { sub = statusVal.substring(pos1 + key.length + 1, statusVal.length); pos2 = sub.indexOf(';'); sub = sub.substring(0, pos2); pos2 = sub.indexOf(',/,'); if (pos2 !== -1) { sub = sub.substring(0, pos2); } pos2 = sub.indexOf(','); sub = sub.substring(pos2 + 1, sub.length); pos2 = sub.indexOf(','); retString = sub.substring(pos2 + 1, sub.length); } else { retString = ''; } } else if (key === 'DJS' || key === 'DBS' || key === 'DSC') { pos1 = statusVal.indexOf( key + ':' ); if( pos1 !== -1 ) { sub = statusVal.substring(pos1 + key.length + 1, statusVal.length); pos2 = sub.indexOf(';'); retString = sub.substring(0, pos2); } else { retString = ''; } } else { retString = ''; } return retString; } function getState( stsDOC, stsDSC, stsDJS, stsDBS, stsDWS ) { var retState = ''; if( typeof stsDOC !== 'string' || stsDOC === '' || typeof stsDSC !== 'string' || stsDSC === '' || typeof stsDJS !== 'string' || stsDJS === '' || typeof stsDBS !== 'string' || stsDBS === '' || typeof stsDWS !== 'string' || stsDWS === '' ) { return ''; } if (stsDOC !== 'NO' || stsDSC !== 'NO' || stsDWS !== 'NO') { retState = 'Stopped'; } else if( (stsDOC === 'NO' && stsDSC === 'NO') && (stsDJS !== 'NO' || stsDBS !== 'NO') ) { retState = 'Processing'; } else { retState = 'Idle'; } return retState; } function getStateReason( stsDWS, stsDOC, stsDSC ) { var stateReason = ''; if( typeof stsDWS !== 'string' || stsDWS === '' || typeof stsDOC !== 'string' || stsDOC === '' || typeof stsDSC !== 'string' || stsDSC === '' ) { return ''; } if (stsDSC !== 'NO' || stsDOC !== 'NO') { stateReason = 'AttentionRequired'; } else if (stsDSC === 'NO' && stsDOC === 'NO' && stsDWS === '1900') { stateReason = 'Paused'; } else if (stsDSC === 'NO' && stsDOC === 'NO' && stsDWS === 'NO') { stateReason = 'None'; } else { stateReason = ''; } return stateReason; } function isEndOfRead( readString ) { var tempString = ''; var nLength = 0; if( typeof readString !== 'string' || readString === '' ) { return false; } tempString = readString; tempString = tempString.replace(/\n|\r|\t|\b/g, ''); nLength = tempString.length; if( tempString.charAt( nLength - 6 ) === '<' && tempString.charAt( nLength - 5 ) === '/' && ( tempString.charAt( nLength - 4 ) === 'c' || tempString.charAt( nLength - 4 ) === 'C' ) && ( tempString.charAt( nLength - 3 ) === 'm' || tempString.charAt( nLength - 3 ) === 'M' ) && ( tempString.charAt( nLength - 2 ) === 'd' || tempString.charAt( nLength - 2 ) === 'D' ) && tempString.charAt( nLength - 1 ) === '>' ) { return true; } else { return false; } } function isBusyState( statusResponse ) { var statusVal = ''; var state = ''; var stsDOC = ''; var stsDSC = ''; var stsDJS = ''; var stsDBS = ''; var stsDWS = ''; if( statusResponse === '' || typeof statusResponse !== 'string' ) { return true; } statusVal = getReadData(statusResponse); stsDOC = getStateVal(statusVal, 'DOC'); stsDSC = getStateVal(statusVal, 'DSC'); stsDJS = getStateVal(statusVal, 'DJS'); stsDBS = getStateVal(statusVal, 'DBS'); stsDWS = getStateVal(statusVal, 'DWS'); state = getState( stsDOC, stsDSC, stsDJS, stsDBS, stsDWS ); if( state === 'Idle' ){ return false; } else { return true; } }