フォームで入力した文を、文字部分は白、背景を黒にして印刷できるようにしたいのですがうまくいきません。
一応調べながら試行錯誤しましたが全く理想通りになりません。
C#
1//プレビュー 2 private void button1_Click(object sender, EventArgs e) 3 { 4 System.Drawing.Printing.PrintDocument pd =new System.Drawing.Printing.PrintDocument(); 5 pd.PrintPage +=new System.Drawing.Printing.PrintPageEventHandler(printDocument1_PrintPage); 6 PrintPreviewDialog ppd = new PrintPreviewDialog(); 7 ppd.Document = pd; 8 ppd.ShowDialog(); 9 } 10 11//印刷 12 private void button2_Click(object sender, EventArgs e) 13 { 14 PrintDocument pd = new PrintDocument(); 15 pd.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage); 16 pd.Print(); 17 } 18 19//printDocument 20 private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) 21 { 22 string print1 = textBox1.Text; 23 string print2 = textBox2.Text; 24 string a = print1 + '\n' + print2; 25 int num = print1.Length; 26 Font fnt = new Font("メイリオ", 20); 27 StringFormat sf = new StringFormat(); 28 CharacterRange[] characterRanges ={new CharacterRange(0, num)}; 29 sf.SetMeasurableCharacterRanges(characterRanges); 30 RectangleF layoutRect = new RectangleF(0, 0, 500, 100); 31 StringFormat drawFormat = new StringFormat(); 32 drawFormat.Alignment = StringAlignment.Center; 33 e.Graphics.DrawString(a, fnt,Brushes.White,layoutRect, drawFormat); 34 }
アドバイスお願いいたします。
追記
すみません、言葉足らずだったかもしれません。
プレビューであげた画像はあの通り印刷したい!という希望です。
同じページに、一行まるまるでなく文字数分のみ背景が黒い文と、なにもいじっていない文、両方印刷したいのです。
まだ言葉足らずでしたら追記しますので、よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/24 08:10
2017/07/24 08:13
2017/07/24 08:15