ฉันได้พัฒนาแอปพลิเคชัน C#.NET เพื่อพิมพ์การ์ด และใช้งานได้กับเครื่องพิมพ์ Fargo DTC 1000 ตอนนี้ฉันได้เปลี่ยนเครื่องพิมพ์ (Zebra ZXP series 3) เพื่อจุดประสงค์เดียวกัน คือการพิมพ์การ์ด (เฉพาะข้อความ) แต่มันใช้งานไม่ได้ ฉันมักจะได้รับข้อผิดพลาด "Creck the Ribbon" แต่ฉันได้ทำการเปลี่ยนแปลงแล้ว เครื่องพิมพ์ทำงานได้ดีหากฉันส่งไปพิมพ์จากแผ่นจดบันทึก
แอปสื่อสารผ่าน LAN กับเครื่องพิมพ์ที่ใช้งานร่วมกันในเซิร์ฟเวอร์ แอพ -> เซิร์ฟเวอร์ -> คอมพิวเตอร์ -> เครื่องพิมพ์
โดยสรุป รหัสใช้งานได้และเครื่องพิมพ์ใช้งานได้ นอกจากนี้ ฉันยังเข้าถึงเครื่องพิมพ์ผ่านรหัสอีกด้วย ปัญหาคือฉันไม่สามารถทำงานผ่านโค้ดได้
ฉันใช้ System. Drawing API
ได้โปรดฉันลงเอยด้วยความคิดของฉันทั้งหมด ขอบคุณล่วงหน้า!
นี่คือวิธีการหลัก
public void Print()
{
if (Parameter == null)
throw new Exception("No existen parametros para la impresión");
PrintDocument pd = new PrintDocument
{
DefaultPageSettings =
{
Landscape = true,
Margins = new Margins(0, 0, 0, 0)
},
PrinterSettings = {PrinterName = Parameter.PrinterName}
};
pd.PrintPage += pd_PrintPage;
pd.Print();
}
private void pd_PrintPage(Object sender, PrintPageEventArgs ev)
{
Font printFont = new Font("Arial", FontSize, FontStyle.Bold);
SetDataToPrint(Parameter.IdMovItem);
ev.Graphics.PageUnit = GraphicsUnit.Inch;
ev.Graphics.DrawString(Data.Asegurado, printFont, Brushes.Black, Parameter.AseguradoX, Parameter.AseguradoY,
new StringFormat());
ev.HasMorePages = false;
}