webForumDet fria alternativet
Logga in / Bli medlem

Streckkoder utskrifter?

.NET

1 svar · 414 visningar · startad av Zaiman

Medlem sedan dec. 20014 239 inlägg
Frågan#1

Hej.

Har skrivit ett program som skriver ut streckkoder i en etikettskrivare.
Men det verkar som om kvaliten på streckkoden blir för dålig när jag skriver vertikalt på etiketten.

Koden för utskrift ser ut i stil med detta:
<code c#>
private void JokerEtikett_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
System.Drawing.Drawing2D.GraphicsState svd = e.Graphics.Save();
e.Graphics.TranslateTransform(1, 110, System.Drawing.Drawing2D.MatrixOrder.Prepend);
e.Graphics.RotateTransform(-90.0f);

        //  Artikelnummer
        Font topPBArt = new Font("Arial", 14, FontStyle.Bold, GraphicsUnit.Pixel);
        e.Graphics.DrawString(benamning, topPBArt, Brushes.Black, 0, 0, new StringFormat());

        //  i Streckkod 
        Font code128 = new Font("Code128B", 12, FontStyle.Regular, GraphicsUnit.Pixel);
        e.Graphics.Restore(svd);
        e.Graphics.TranslateTransform(20, 120, System.Drawing.Drawing2D.MatrixOrder.Prepend);
        e.Graphics.RotateTransform(-90.0f);
        e.Graphics.DrawString(slrText, code128, Brushes.Black, 0, 0, new StringFormat());

        //  Kod i klartext
        Font slrFont = new Font("Arial", 10, FontStyle.Regular, GraphicsUnit.Pixel);
        e.Graphics.TranslateTransform(15, 30, System.Drawing.Drawing2D.MatrixOrder.Prepend);
        //e.Graphics.DrawString(slrText, slrFont, Brushes.Black, 0, 0, new StringFormat());
        e.Graphics.TranslateTransform(-20, 220, System.Drawing.Drawing2D.MatrixOrder.Prepend);
        e.Graphics.DrawString("MIN EGNA TEXT RAD1", slrFont, Brushes.Black, 0, 0, new StringFormat());
        e.Graphics.DrawString("MIN EGNA TEXT..", slrFont, Brushes.Black, 10, 10, new StringFormat());
        
        // Återställ grafiskt läge
        e.Graphics.Restore(svd);
        e.Graphics.ResetTransform();
        
        // Rita upp bilden
        Bitmap picture = new Bitmap(picturePath);
        picture.RotateFlip(RotateFlipType.Rotate90FlipX);
        e.Graphics.DrawImage(picture, new Rectangle(65, 25, 200, 80));
    }

</code>

Har provat med olika koder för streckkoden men läsaren klarar bara av att läsa om streckkoden är skriven i horisontellt läge.

Finns det någon annan variant på utskrift som ger bättre kvalite på utskriften än vad denna verkar göra.
Det är en bra etikettskrivare som används men tydligen inte tillräckligt bra?

Medlem sedan dec. 20014 239 inlägg
#2

Problemet är hårdvarurelaterat.

254 ms totalt · 4 externa anrop · v20260731065814-full.0583408b
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)