C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: 印刷データの作り方を教えてください。


(過去ログ 132 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■77874 / inTopicNo.1)  印刷データの作り方を教えてください。
  
□投稿者/ ミルク (15回)-(2015/11/27(Fri) 14:34:58)

分類:[.NET 全般] 

環境は Visualstudio2013 c# .net です。

文字の印刷方法は調べるとすぐにわかったのですが、
用紙の、左から14cm、上から3cmのところに
横5cm、縦6cmの四角形を描きその四角の中に
拡大縮小した5cm×5cmの画像を入れて、
その下側の縦の残り1cmのところに文字を入れて
出力をしたいのですが。

方法がわかりません。

ネットを調べても、文字列の印刷、画像の印刷とか帳票の印刷とかで
位置を合わせて印刷する方法が見当たりませんでした。

参考になりそうなサイトや、方法を教えてください。


イメージ的は、画像印刷のように、
プリンターの印刷可能サイズと同じ縦横ピクセルサイズの Image を作成して
描画したものを印刷するとできそうな気がしますが。
なんだか原始的な方法みたいですね。

もっといい方法があるのでしょうか?
引用返信 編集キー/
■77906 / inTopicNo.2)  Re[1]: 印刷データの作り方を教えてください。
□投稿者/ ぶなっぷ (60回)-(2015/11/30(Mon) 10:23:31)
ぶなっぷ さんの Web サイト
2015/11/30(Mon) 10:25:30 編集(投稿者)
こんなのとかでどうでしょう?

  http://qiita.com/hugo-sb/items/133e9b6bcbcaa6c07d63

引用返信 編集キー/
■77921 / inTopicNo.3)  Re[1]: 印刷データの作り方を教えてください。
□投稿者/ よもやま (15回)-(2015/12/01(Tue) 18:35:18)
No77874 (ミルク さん) に返信
> 環境は Visualstudio2013 c# .net です。
>
1.印字位置に関して
参考までに。
検索キーワード「C# 印刷 drawing printing」
http://www.ipentec.com/document/document.aspx?page=csharp-printer-print&culture=ja-jp

2.位置合わせに関して
プリンタのメーカーや使用している用紙の様式(例えば、宅配業者が使うような複写式の連続帳票)にあわせて
印字位置、改ページを調整するしかないのではないでしょうか。
例えば、ドットインパクトでロール式の場合
帳票サイズを設定しても改ページ後、微妙にずれたりします。
こればっかりは何度か試行錯誤して
・ミリやインチ単位の位置調整用処理をいれる
・印字ページ数範囲を決め、人の操作でロール位置を調整してもらう
など対策をとるとよいと思います。

3.画像の印刷
参考までに。。
検索キーワード「C# 印刷 drawing printing」
http://dobon.net/vb/dotnet/graphics/printdocument.html


引用返信 編集キー/
■77937 / inTopicNo.4)  Re[2]: 印刷データの作り方を教えてください。
□投稿者/ ミルク (16回)-(2015/12/02(Wed) 08:56:55)
以下のように

幅 0.25mm で 左 15mm 上 22mm 幅 140mm 高さ 140mm の四角形を
印刷すると、実際の左は約 19.5mm 上は約 25.5mm で印刷されました。
これは印刷のずれによるものでしょうか?
それとも、余白等の処理をする必要があるのでしょうか?

e.MarginBunds = (100, 100, 969, 627) です。
左も上も 100 に対して左が 4.5mm,上が 3.5mm のずれで異なります。

それに 100ミリインチ だと 25.4mm に相当するので余白は関係ないですよね。


private void pd_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
 e.Graphics.PageUnit = GraphicsUnit.Inch;
 e.Graphics.DrawRectangle(new Pen(Color.Black, 0.25f / 25.4f), 15f / 25.4f, 22f / 25.4f, 140f / 25.4f, 140f / 25.4f);
}

引用返信 編集キー/
■77939 / inTopicNo.5)  Re[3]: 印刷データの作り方を教えてください。
□投稿者/ furu (38回)-(2015/12/02(Wed) 09:52:23)
No77937 (ミルク さん) に返信
> e.MarginBunds = (100, 100, 969, 627) です。

ハードマージン(System.Drawing.Printingの
HardMarginX,HardMarginY)はどれくらいですか?
引用返信 編集キー/
■77951 / inTopicNo.6)  Re[4]: 印刷データの作り方を教えてください。
□投稿者/ ミルク (17回)-(2015/12/03(Thu) 08:48:32)
No77939 (furu さん) に返信
> ■No77937 (ミルク さん) に返信

> ハードマージン(System.Drawing.Printingの
> HardMarginX,HardMarginY)はどれくらいですか?

16でした。

これを考慮すると
ほぼ1mm以内の誤差内で印刷できるようになりました。
ありがとうございます。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -