สอบถามเรื่องการสั่งพิมพ์ข้อความไปยังกระดาษ (PrintDocument C#)

กระทู้คำถาม
ผมเอากระดาษแบบฟอร์มๆหนึ่ง มาสแกนเป็นภาพ jpeg (150 dpi) แล้วเอาไฟล์ภาพที่ได้นั้น มาทำการ กำหนด X,Y หลายๆจุด หลายๆหลายตำแหน่ง
แล้วเขียนโปรแกรม กรอกข้อมูลเพื่อส่งข้อความที่กรอกจากหน้า interface ของโปรแกรมนั้นๆ ออกไปยังเครื่องพิมพ์
โดยเอากระดาษแบบฟอร์มข้างต้น มาเป้นกระดาษที่ใช้พิมพ์ครับ

ปรากฎว่า ข้อความเลื่อนครับ ไม่ตรงกับที่กำหนดจุดไว้เลย
ไม่ทราบว่าผมต้องศึกษาหรือแก้ไขตรงไหนเพิ่มเติมครับ
ตัวอย่างโค้ดคร่าวๆ (C#)

PrintDocument p = new PrintDocument();
p.PrintPage += delegate(object sender1, PrintPageEventArgs e1)
{
e1.Graphics.DrawString("ข้อความที่กรอกจากโปแกรม",
                                      new Font("Tahoma", 10), new SolidBrush(Color.Black),
                                                           fnX, fnY);
// fnX, fnY คือตำแหน่งที่เอามาจากภาพ jpeg ครับ
}
PrintPreviewDialog pPrev = new PrintPreviewDialog();
                    pPrev.Document = p;                    
                    pPrev.ShowDialog();

ขอบคุณครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่