Esempio n. 1
0
        private ActionResult <RenderResponseDto> RenderZpl(RenderRequestDto request)
        {
            IPrinterStorage printerStorage = new PrinterStorage();
            var             drawer         = new ZplElementDrawer(printerStorage);

            var analyzer    = new ZplAnalyzer(printerStorage);
            var analyzeInfo = analyzer.Analyze(request.ZplData);

            var labels = new List <RenderLabelDto>();

            foreach (var labelInfo in analyzeInfo.LabelInfos)
            {
                var imageData = drawer.Draw(labelInfo.ZplElements, request.LabelWidth, request.LabelHeight, request.PrintDensityDpmm);
                var label     = new RenderLabelDto
                {
                    ImageBase64 = Convert.ToBase64String(imageData)
                };
                labels.Add(label);
            }

            var response = new RenderResponseDto
            {
                Labels = labels.ToArray(),
                NonSupportedCommands = analyzeInfo.UnknownCommands
            };

            return(this.StatusCode(StatusCodes.Status200OK, response));
        }
Esempio n. 2
0
        public void FontAssignment()
        {
            string zplString = @"
^XA
^FO20, 20
^A1N,40, 30 ^FD西瓜^FS
^FO20, 50
^A0N,40, 30 ^FDABCDEFG^FS
^XZ";

            var drawOptions = new DrawerOptions()
            {
                FontLoader = fontName =>
                {
                    if (fontName == "0")
                    {
                        //typeface = SKTypeface.FromFile(@"swiss-721-black-bt.ttf");
                        return(SKTypeface.FromFamilyName("Arial", SKFontStyleWeight.Bold, SKFontStyleWidth.Normal, SKFontStyleSlant.Upright));
                    }
                    else if (fontName == "1")
                    {
                        return(SKTypeface.FromFamilyName("SIMSUN", SKFontStyleWeight.Bold, SKFontStyleWidth.Normal, SKFontStyleSlant.Upright));
                    }

                    return(SKTypeface.Default);
                }
            };
            IPrinterStorage printerStorage = new PrinterStorage();
            var             drawer         = new ZplElementDrawer(printerStorage, drawOptions);

            var analyzer    = new ZplAnalyzer(printerStorage);
            var analyzeInfo = analyzer.Analyze(zplString);

            foreach (var labelInfo in analyzeInfo.LabelInfos)
            {
                var imageData = drawer.Draw(labelInfo.ZplElements, 300, 300, 8);
                File.WriteAllBytes("test.png", imageData);
            }
        }
Esempio n. 3
0
        public void FormatHandling()
        {
            string          zplString      = @"
^XA
^DFETIQUE-1^FS
^PRC
^LH0,0^FS
^LL408
^MD0
^MNY
^LH0,0^FS
^FO120,141^A0N,27,23^CI13^FR^FN999^FS
^BY2,3.0^FO213,7^BCN,80,N,Y,N^FR^FN997^FS
^FO313,95^A0N,35,23^CI13^FR^FB105,2,0,L^FN997^FS
^FO40,141^A0N,27,33^CI13^FR^FDP/N :^FS
^XZ


^XA
^XFETIQUE-1.ZPL
^FN999^FDC19755BA01:F9111^FS
^FN997^FD3758292^FS
^PQ1,0,1,N
^XZ
^FX";
            IPrinterStorage printerStorage = new PrinterStorage();
            var             drawer         = new ZplElementDrawer(printerStorage);

            var analyzer    = new ZplAnalyzer(printerStorage);
            var analyzeInfo = analyzer.Analyze(zplString);

            foreach (var labelInfo in analyzeInfo.LabelInfos)
            {
                var imageData = drawer.Draw(labelInfo.ZplElements, 300, 300, 8);
                File.WriteAllBytes("merge-test.png", imageData);
            }
        }