- - PR -
printdocumentからimageを作る方法
1|2|3|4
次のページへ»
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-01-18 11:07
windows2000Pro.とVS2003でVBを使って開発をしています。
いままで印刷していた帳票を画像ファイルとして出力する事になって、 うまい方法を考えつけないでいます。 printdocumentの1ページを1画像ファイルに出力するのがとりあえずのゴールです。 printdocument自体はNSSPRNXAというdllで直接描かれているので、imageはちょっと 取り出せそうに無く、あるのはprintdocumentだけです。 PrintPreviewControlに出力して、それをbitmapオブジェクトに取り込んで保存、 と言う方法を試したのですが、PrintPreviewControl自体の余白(グレーで表示さ れている部分)まで画像として取り込まれてしまう上に、複数ページを複数の画像 として出力はちょっと厳しいのです。一枚の画像になってしまいます。 (当たり前ですか・・・) printdocument自体からimageとして取り出す方法はないものでしょうか? お力を貸していただければ幸いです。よろしくお願いいたします。 | ||||
|
投稿日時: 2006-01-18 11:56
投稿が、消せなかった...
(30 分経過ではなく、30 分単位でコミットされるんですね) [ メッセージ編集済み 編集者: じゃんぬねっと 編集日時 2006-01-18 12:00 ] | ||||
|
投稿日時: 2006-01-18 12:08
その PrintDocument は System.Drawing.Printing.PrintDocument クラスですか? であれば、前提条件がおかしいような気がします。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-01-18 12:34
>じゃんぬねっとさん
返信ありがとうございます。 PrintDocument は System.Drawing.Printing.PrintDocument で間違いありません。 すみません。前提条件のおかしい部分はどこでしょうか。わかりませんでした。 お手数ですがおしえてください。 | ||||
|
投稿日時: 2006-01-18 12:43
PrintDocument のインスタンスには、何を印刷するのか保持していないハズです。 PrintPage イベントの Graphics に対して何を印刷するのか「設定」するからです。 ですので、System.Drawing.Printing.PrintDocument ではなく、 CrystalReports にあるような ReportDocument みたいな類じゃないかな? と思ったのです。 そんなわけで、印刷自体の実装を見る必要があります。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-01-18 16:02
PrintControllerでしょうか。 OnEndPageで行けそうな気がして、サンプルを探してみました。 Output graphics files using your printing code http://www.codeproject.com/csharp/printcontrollerfile.asp | ||||
|
投稿日時: 2006-01-18 16:40
PrintPage イベントで何かをセットしないと、何も入ってこないので、 「そんなわけで、印刷自体の実装を見る必要があります」と書いたんですが、 要するに、NSSPRNXA.DLL というものは (On)PrintPage をオーバーライドしていることになりますね。 Base を呼び出した後ならば、どうとでもなりそうですね。 普通に Graphics オブジェクトから Image に Draw すれば保存できるかもしれません。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-01-18 21:51
返信ありがとうございます。まさにこんな感じの動きが欲しかったんです。 現在VBしか読めない&PrintControllerの扱いが良くわからないので、ちょっと時間をかけてこのソース、調べてみます。 ありがとうございました。 |
1|2|3|4
次のページへ»