Beispiel #1
0
        ///<inheritdoc/>
        public override IEnumerable <string> Render(ZplRenderOptions context)
        {
            byte[] objectData;
            using (var image = Image.Load(ImageData))
            {
                if (context.ScaleFactor != 1)
                {
                    var scaleWidth  = (int)Math.Round(image.Width * context.ScaleFactor);
                    var scaleHeight = (int)Math.Round(image.Height * context.ScaleFactor);

                    image.Mutate(x => x.Resize(image.Width / 2, image.Height / 2));
                }

                using (var ms = new MemoryStream())
                {
                    image.Save(ms, new PngEncoder());
                    objectData = ms.ToArray();
                }
            }

            var imageResult = _imageConverter.ConvertImage(objectData);

            if (_isCompressionActive)
            {
                imageResult.ZplData = ZebraHexCompressionHelper.Compress(imageResult.ZplData, imageResult.BytesPerRow);
            }

            return(new List <string>
            {
                $"~DG{StorageDevice}:{ImageName}.{_extension},{imageResult.BinaryByteCount},{imageResult.BytesPerRow},",
                imageResult.ZplData
            });
        }
        public override IEnumerable <string> Render(ZplRenderOptions context)
        {
            var result = new List <string>();

            result.AddRange(FormatElement.Render(context));
            result.Add($"^FN{Number}^FS");
            return(result);
        }
        ///<inheritdoc/>
        public override IEnumerable <string> Render(ZplRenderOptions context)
        {
            var result = new List <string>();

            result.AddRange(FieldOrigin.Render(context));
            result.Add($"^XG{StorageDevice}:{ImageName}.{_extension},{MagnificationFactorX},{MagnificationFactorY}^FS");

            return(result);
        }
Beispiel #4
0
        public IEnumerable <string> RenderPosition(ZplRenderOptions context)
        {
            if (FieldOrigin != null)
            {
                return(FieldOrigin.Render(context));
            }

            return(FieldTypeset.Render(context));
        }
Beispiel #5
0
        ///<inheritdoc/>
        public override IEnumerable <string> Render(ZplRenderOptions context)
        {
            var result = new List <string>();

            result.AddRange(FieldOrigin.Render(context));
            result.Add($"^IM{StorageDevice}:{ObjectName}.{Extension}");

            return(result);
        }
        /// <summary>
        /// Render (^GFa,b,c,d,data)
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override IEnumerable <string> Render(ZplRenderOptions context)
        {
            var result = new List <string>();

            result.AddRange(FieldOrigin.Render(context));
            result.Add($"^GF{CompressionType},{BinaryByteCount},{GraphicFieldCount},{BytesPerRow},{Data}");

            return(result);
        }
Beispiel #7
0
        ///<inheritdoc/>
        public override IEnumerable <string> Render(ZplRenderOptions context)
        {
            var result = new List <string>();

            result.AddRange(FieldOrigin.Render(context));
            result.Add($"^BE{RenderFieldOrientation()},{context.Scale(Height)},{RenderPrintInterpretationLine()},{RenderPrintInterpretationLineAboveCode()}");
            result.Add($"^FD{Content}^FS");

            return(result);
        }
        ///<inheritdoc/>
        public override IEnumerable <string> Render(ZplRenderOptions context)
        {
            //^GDw,h,t,c,o
            var result = new List <string>();

            result.AddRange(FieldOrigin.Render(context));
            result.Add($"^GD{context.Scale(Width)},{context.Scale(Height)},{context.Scale(BorderThickness)},{RenderLineColor(LineColor)},{(RightLeaningDiagonal ? "R" : "L")}^FS");

            return(result);
        }
Beispiel #9
0
        ///<inheritdoc/>
        public override IEnumerable <string> Render(ZplRenderOptions context)
        {
            //^ GE300,100,10,B ^ FS
            var result = new List <string>();

            result.AddRange(FieldOrigin.Render(context));
            result.Add($"^GE{context.Scale(Width)},{context.Scale(Height)},{context.Scale(BorderThickness)},{RenderLineColor(LineColor)}^FS");

            return(result);
        }
        ///<inheritdoc/>
        public override IEnumerable <string> Render(ZplRenderOptions context)
        {
            //^GCd,t,c
            var result = new List <string>();

            result.AddRange(FieldOrigin.Render(context));
            result.Add($"^GC{context.Scale(Diameter)},{context.Scale(BorderThickness)},{RenderLineColor(LineColor)}^FS");

            return(result);
        }
        ///<inheritdoc/>
        public override IEnumerable <string> Render(ZplRenderOptions context)
        {
            //^CWa,d:o.x
            var result = new List <string>
            {
                $"^CW{FontReplaceLetter},{Device}:{FontFileName}"
            };

            return(result);
        }
Beispiel #12
0
        ///<inheritdoc/>
        public override IEnumerable <string> Render(ZplRenderOptions context)
        {
            //^GSo,h,w
            var result = new List <string>();

            result.AddRange(FieldOrigin.Render(context));
            result.Add($"^GS{RenderFieldOrientation(FieldOrientation)},{context.Scale(Height)},{context.Scale(Width)}^FD{CharacterLetter}^FS");

            return(result);
        }
Beispiel #13
0
        ///<inheritdoc/>
        public override IEnumerable <string> Render(ZplRenderOptions context)
        {
            var result = new List <string>();

            result.AddRange(Font.Render(context));
            result.AddRange(RenderPosition(context));
            result.Add(RenderFieldDataSection());

            return(result);
        }
Beispiel #14
0
        ///<inheritdoc/>
        public override IEnumerable <string> Render(ZplRenderOptions context)
        {
            var result = new List <string>();

            result.AddRange(Font.Render(context));
            result.AddRange(FieldOrigin.Render(context));
            result.Add($"^TB{RenderFieldOrientation(Font.FieldOrientation)},{context.Scale(Width)},{context.Scale(Height)}");
            result.Add(RenderFieldDataSection());

            return(result);
        }
Beispiel #15
0
        ///<inheritdoc/>
        public override IEnumerable <string> Render(ZplRenderOptions context)
        {
            //^ FO100,100
            //^ BQN,2,10
            //^ FDMM,AAC - 42 ^ FS
            var result = new List <string>();

            result.AddRange(FieldOrigin.Render(context));
            result.Add($"^BQN,{Model},{context.Scale(MagnificationFactor)},{RenderErrorCorrectionLevel(ErrorCorrectionLevel)},{MaskValue}");
            result.Add($"^FD{RenderErrorCorrectionLevel(ErrorCorrectionLevel)}A,{Content}^FS");

            return(result);
        }
Beispiel #16
0
        ///<inheritdoc/>
        public override IEnumerable <string> Render(ZplRenderOptions context)
        {
            //^FO100,100
            //^BXN,10,200
            //^FDZEBRA TECHNOLOGIES CORPORATION ^ FS
            var result = new List <string>();

            result.AddRange(FieldOrigin.Render(context));
            result.Add($"^BX{RenderFieldOrientation()},{context.Scale(Height)}");
            result.Add($"^FD{Content}^FS");

            return(result);
        }
Beispiel #17
0
        ///<inheritdoc/>
        public override IEnumerable <string> Render(ZplRenderOptions context)
        {
            //^FO100,100 ^ BY3
            //^BCN,100,Y,N,N
            //^FD123456 ^ FS
            var result = new List <string>();

            result.AddRange(FieldOrigin.Render(context));
            result.Add($"^B3{RenderFieldOrientation()},{(Mod43CheckDigit ? "Y" : "N")},{context.Scale(Height)},{RenderPrintInterpretationLine()},{RenderPrintInterpretationLineAboveCode()}");
            result.Add($"^FD{Content}^FS");

            return(result);
        }
Beispiel #18
0
        public void ChangeDPI()
        {
            var elements = new List <ZplElementBase>();

            elements.Add(new ZplGraphicBox(400, 700, 100, 100, 5));

            var options = new ZplRenderOptions {
                SourcePrintDpi = 203, TargetPrintDpi = 300
            };
            var output = new ZplEngine(elements).ToZplString(options);

            Debug.WriteLine(output);
            Assert.IsNotNull(output);
            Assert.AreEqual("^XA\n^LH0,0\n^CI28\n^FO591,1034\n^GB147,147,7,B,0^FS\n^XZ", output);
        }
Beispiel #19
0
        public override IEnumerable <string> Render(ZplRenderOptions context)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("^FD");
            foreach (var c in Text)
            {
                sb.Append(ZplTextField.SanitizeCharacter(c));
            }

            var result = new List <string>();

            result.Add($"^FN{Number}");
            result.Add($"{sb}^FS");
            return(result);
        }
Beispiel #20
0
        ///<inheritdoc/>
        public override IEnumerable <string> Render(ZplRenderOptions context)
        {
            //^ XA
            //^ CF0,30,30 ^ FO25,50
            //   ^ FB250,4,,
            //^ FDFD command that IS\&
            // preceded by an FB \&command.
            // ^ FS
            // ^ XZ
            var result = new List <string>();

            result.AddRange(Font.Render(context));
            result.AddRange(FieldOrigin.Render(context));
            result.Add($"^FB{context.Scale(Width)},{MaxLineCount},{context.Scale(LineSpace)},{RenderTextJustification()},{context.Scale(HangingIndent)}");
            result.Add(RenderFieldDataSection());

            return(result);
        }
Beispiel #21
0
        public void LayoutWithOriginOffset()
        {
            var elements = new List <ZplElementBase>();

            var origin = new ZplFieldOrigin(100, 100);

            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    elements.Add(new ZplGraphicBox(origin.PositionX, origin.PositionY, 50, 50));
                    origin = origin.Offset(0, 100);
                }
                origin = origin.Offset(100, -300);
            }

            var options = new ZplRenderOptions();
            var output  = new ZplEngine(elements).ToZplString(options);

            Debug.WriteLine(output);
        }
Beispiel #22
0
        ///<inheritdoc/>
        public override IEnumerable <string> Render(ZplRenderOptions context)
        {
            var gridSize = 100;
            var font     = new ZplFont(fontWidth: 0, fontHeight: 20, fontName: "0");

            var result = new List <string>();

            for (var x = 0; x < 30; x++)
            {
                for (var y = 0; y < 30; y++)
                {
                    var positionX = x * gridSize;
                    var positionY = y * gridSize;

                    result.AddRange(new ZplGraphicBox(positionX, positionY, gridSize, gridSize).Render());
                    result.AddRange(new ZplTextField($"X:{positionX}", positionX + 10, positionY + 30, font).Render());
                    result.AddRange(new ZplTextField($"Y:{positionY}", positionX + 10, positionY + 50, font).Render());
                }
            }

            return(result);
        }
Beispiel #23
0
        ///<inheritdoc/>
        public override IEnumerable <string> Render(ZplRenderOptions context)
        {
            byte[] objectData;
            using (var image = Image.Load(ImageData))
            {
                if (context.ScaleFactor != 1)
                {
                    var scaleWidth  = (int)Math.Round(image.Width * context.ScaleFactor);
                    var scaleHeight = (int)Math.Round(image.Height * context.ScaleFactor);

                    image.Mutate(x => x.Resize(scaleWidth, scaleHeight, KnownResamplers.Lanczos3));
                }

                using (var ms = new MemoryStream())
                {
                    image.Save(ms, new PngEncoder());
                    objectData = ms.ToArray();
                }
            }

            var sb = new StringBuilder();

            foreach (byte b in objectData)
            {
                sb.Append(string.Format("{0:X}", b).PadLeft(2, '0'));
            }

            var formatDownloadedInDataField = 'P'; //portable network graphic (.PNG) - ZB64 encoded
            var extensionOfStoredFile       = 'P'; //store as compressed (.PNG)

            var result = new List <string>
            {
                $"~DY{StorageDevice}:{ObjectName},{formatDownloadedInDataField},{extensionOfStoredFile},{objectData.Length},,{sb}"
            };

            return(result);
        }
 public override IEnumerable <string> Render(ZplRenderOptions context)
 {
     throw new InvalidOperationException();
 }
Beispiel #25
0
 ///<inheritdoc/>
 public override IEnumerable <string> Render(ZplRenderOptions context)
 {
     return(new[] { RawContent });
 }
Beispiel #26
0
 ///<inheritdoc/>
 public override IEnumerable <string> Render(ZplRenderOptions context)
 {
     return(new[] { $"^A{FontName}{RenderFieldOrientation(FieldOrientation)},{context.Scale(FontHeight)},{context.Scale(FontWidth)}" });
 }
Beispiel #27
0
 public string ToZplString(ZplRenderOptions context)
 {
     return(string.Join("\n", Render(context)));
 }
Beispiel #28
0
 /// <summary>
 /// Render Zpl data
 /// </summary>
 /// <param name="context"></param>
 /// <returns></returns>
 public abstract IEnumerable <string> Render(ZplRenderOptions context);
Beispiel #29
0
 ///<inheritdoc/>
 public override IEnumerable <string> Render(ZplRenderOptions context)
 {
     //^FO50,50
     return(new string[] { $"^FT{context.Scale(PositionX)},{context.Scale(PositionY)}" });
 }