ScanDocument AddSerialNumberVariable

Add a Serial Number variable to ScanDocument. The variable can be used to access its content using the ScanScript later.

Refer Serial number Marking section for more information.

 

public void AddSerialNumberVariable(SerialNumber serialNumberVariable)

 

Return value

void  

 

Parameters

SerialNumber serialNumberVariable Define the serial number information for this variable

 

Example

Copy
scanDocument = scanDeviceManager.CreateScanDocument(GetselectedDeviceUniqueName(), DistanceUnit.Millimeters, false);
scanDocument.SetScanDocumentName("SerialNumberSample");

// Create a serial number variable
SerialNumber serialVar = new SerialNumber("SerialID");
// Add new line 
serialVar.SerialItemList.Add(new NewLineSerialItem());
// Add static text part of the serial number
TextSerialItem textPart = new TextSerialItem();
textPart.Text = "Serial # : ";
serialVar.SerialItemList.Add(textPart);

// Add the number serial item part
NumberSerialItem numberSerialItem = new NumberSerialItem();
numberSerialItem.IsCurrentNumberEnabled = true;
numberSerialItem.StartNumber = 1;
numberSerialItem.CurrentNumber = 1;
numberSerialItem.EndNumber = 100;
numberSerialItem.Increment = 1;
numberSerialItem.FixedLength = 3;
numberSerialItem.RepeatCount = 0;
numberSerialItem.NumarelRepresentation = NumberSystemStyle.Decimal;

serialVar.SerialItemList.Add(numberSerialItem);
serialVar.SerialItemList.Add(new NewLineSerialItem());

//Save a job to SMC
scanDocument.IsSaveAndUseSerailizationState = true;
//Loop cycles
scanDocument.SetIterations(100);
//Add serialNumber to ScanDocument
scanDocument.AddSerialNumberVariable(serialVar);
//Day to expire 
scanDocument.SerailizationStateSaveDataExpirationTime = 1;

if (scanDocument != null)
{
    VectorImage vectorImage = scanDocument.CreateVectorImage("image1", DistanceUnit.Millimeters);

    vectorImage.SetMarkSpeed(1000);
    vectorImage.SetJumpSpeed(2000);
    vectorImage.SetJumpDelay(100);
    vectorImage.SetMarkDelay(100);

    //Set Laser Delays
    vectorImage.SetLaserOnDelay(10);
    vectorImage.SetLaserOffDelay(10);

    //Dynamic Text
    DynamicTextShape dynamicText = new DynamicTextShape();
    dynamicText.Height = 5;
    dynamicText.Location = new Point3D(0, 0, 0);
    dynamicText.VariableName = "dynText1";
    dynamicText.Text = "Text1";
    dynamicText.EvaluateVariableTags = true;
    dynamicText.FontName = "Arial";
    dynamicText.CharacterGap = 0;
    dynamicText.ScaleX = 1;
    dynamicText.ScaleY = 1;
    dynamicText.Angle = 0;

    // Characters from 0 to 255 or basically extended ASCII range is embedded
    Collection<UnicodeRange> unicodeRanges = new Collection<UnicodeRange>();
    UnicodeRange unicodeRange = new UnicodeRange();
    unicodeRange.StartingCharacter = Convert.ToChar(0x00);
    unicodeRange.EndingCharacter = Convert.ToChar(0xff);
    unicodeRanges.Add(unicodeRange);
    scanDocument.EmbedFont("Arial", FontStyle.Regular, unicodeRanges); // We need to embed the font for dynamic text shapes top be marked

    vectorImage.AddDynamicText(dynamicText, new SerialNumberEx(serialVar));

    scanDocument.Scripts.Add(new ScanningScriptChunk("defaultScript", "ScanAll()\r\nLaser.WaitForEnd()"));

    try
    {
        scanDocument.StartScanning();
    }
    catch
    {

    }
}