c# Печать этикеток, проблема координат разных принтеров в частности DataMax
Создаю программу, где из базы данных необходимо подгрузить и выбрать строки например ФИО, Должность и выводить их на печать с логотипом. У меня на компьютере на разных принтерах координаты 0.0 это верхний левый угол печати. Но на принтере: Datamax-O'Neil A-4212 Mark II начало координат посередине листа, хотя настройки принтера верны.
Подскажите, может быть я не правильно реализую печать на с#?
Код кнопки "печать"
PrintDocument pd = new PrintDocument();
PrinterSettings PS = new PrinterSettings();
PS.PrinterName = "Datamax-O'Neil A-4212 Mark II";
pd.PrinterSettings = PS;
float H = PS.DefaultPageSettings.PaperSize.Height;
float W = PS.DefaultPageSettings.PaperSize.Width;
float Y = PS.DefaultPageSettings.HardMarginY;
float X = PS.DefaultPageSettings.HardMarginX;
pd.PrintPage += PrintPageHandler;
PrintDialog printDialog = new PrintDialog();
printDialog.ShowDialog();
printDialog.Document = pd;
printDialog.Document.Print();
Для тестов вывожу пока только картинку (проблема так же и с текстом)
Image newImage = Image.FromFile("logo.jpg");
GraphicsUnit units = GraphicsUnit.Pixel;
Point ulCorner = new Point((int)X, (int)Y); // Верхний левый
Point urCorner = new Point(300, 0); // Верхний правый
Point llCorner = new Point(0, 100); // Нижний левый
Point[] destPara = { ulCorner, urCorner, llCorner };
e.Graphics.DrawImage(newImage, destPara);
Font font = new Font("Arial", 12, FontStyle.Regular, GraphicsUnit.Pixel);