저는 Dot Net을 처음 사용하기 때문에 스케일로 측정 할 경우 폭 20mm, 높이 8mm의 사각형을 정확하게 인쇄하고 싶습니다. 나는 또한 rectangle.Can의 중간에 정확하게 텍스트를 인쇄 할 사람이 나를 어떻게 이것을 얻을 수 제안하고 싶습니까?정확한 크기의 직사각형을 C#으로 인쇄하는 방법은 무엇입니까?
이전에 분명하지 않은 점에 대해 정말 유감입니다. 나는 "PageUnits"를 잘 사용하려고 노력했다. 그러나 마진에 문제가 있습니다.
프린터 "HP LaserJet P2035n"을 사용하는 경우 정확한 여백 (8.8mm 왼쪽 및 22mm 위쪽)을 인쇄 할 수 있습니다. "Canon iR2020 PCL5e"를 사용하여 인쇄 할 경우, 8.8mm 왼쪽과 22mm 위쪽 여백을 가져야하는 잘못된 여백 (8.1mm 왼쪽 및 8.0mm 위쪽)이 발생합니다. 누군가 내가 잘못하고있는 부분을 설명 할 수 있습니까?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Drawing.Printing;
namespace ConsoleApplication6
{
class DrawShape
{
public static void DrawRec()
{
PrintDocument doc = new PrintDocument();
doc.PrintPage += doc_PrintPage;
doc.Print();
}
static void doc_PrintPage(object sender, PrintPageEventArgs e)
{
Graphics g = e.Graphics;
PageSettings PageSet = new PageSettings();
float MarginX = PageSet.PrintableArea.X;
float MarginY = PageSet.PrintableArea.Y;
float x = (float)(8.8-((MarginX/100)*25.4));
float y = (float)(22-((MarginY/100)*25.4));
g.PageUnit = GraphicsUnit.Millimeter;
g.DrawRectangle(Pens.Black, x, y, 20, 8);
}
}
}
아직 시도해 보셨나요? – tnw