PrintDocumentオブジェクトとPrintPreviewオブジェクトを使用しています。Graphicsクラスを使用します。printが呼び出されると、「PrintEventArgse」オブジェクトが取得されます。次に、e.Graphicsを使用して、e.Graphics.DrawString、.DrawImageなどにアクセスできます。
印刷をオーバーライドする印刷オブジェクトクラス全体を作成しました。そのため、さまざまなフォント、ロゴ、ヘッダー、専門用語などを含む詳細ボックスがあります。これらにはそれぞれ独自のクラスがあります。それらすべてを大きなリストに入れて、printThis(List);と呼びます。そしてそれはそれぞれの印刷機能と座標を取り、私を形にします。
継承されたオブジェクト
class formHdr : printObject
{
private string headerText;
public formHdr(string hText)
: base()
{
headerText = hText;
}
public override void printThis(System.Drawing.Printing.PrintPageEventArgs e)
{
Graphics g = e.Graphics;
g.DrawString(headerText, FRHEADER, Brushes.Black, BaseX, BaseY);
}
}
基本クラス
abstract class printObject
{
protected Font FTHEADER;
protected Font NRML;
protected Font DETAIL;
protected Font FRHEADER;
protected Font DETHEADER;
protected Font LEGAL;
protected Font LEGAL2;
public int baseX, baseY;
public int boxSX, boxSY;
public printObject()
{
baseX = 0;
baseY = 0;
boxSX = 0;
boxSY = 0;
FTHEADER = new Font("Arial", 12, FontStyle.Bold);
NRML = new Font("Calibri", 10);
DETAIL = new Font("Consolas", 8);
FRHEADER = new Font("Arial", 16, FontStyle.Bold);
DETHEADER = new Font("Calibri", 10, FontStyle.Bold);
LEGAL = new Font("Arial", 8);
LEGAL2 = new Font("Arial", 10);
}
public virtual void printThis(PrintPageEventArgs e) { }
オブジェクトの作成
mainHead = new formHdr("Bill of Lading/Weigh slip Original");
mainHead.BaseX = 225;
mainHead.BaseY = 20;
bol.Add(mainHead);
多分これはあなたが始めることができますか?私はまだそれを微調整していて、他の応答に興味があるでしょう。