VB.BET WindowsXP(HomePage)環境で
System.DrawingPrinting.PrintDocument
System.Windows.Forms.PrintPreviewDialog
System.Windows.Forms.PageSetupDialog
を使用して、(参考書にて単独の使用法をつなげて)
印刷プログラムを作成しております。
ランドスケープ角度などの読み込みは出来増したが、逆に
設定(ラドンドスケープ角=0<横書き>、A3用紙設定、マージン
<空白部分の巾設定>などがどうしてもできません。
これらの実例(例:A3横書き設定、Top空白80ドット、右空白50ドット
の)を実現する方法を教えてください。
そのものズバリではありません。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7782&forum=7
ご参考までに・・・
※ ただ、80ドットとか、50ドットと言うのは無理ですネ!
あくまで、単位は、mmか、インチです。
以上。
助言により下記までは実現できました。
但し、下欄の不明点がのこります。
実現できた事
下記のコードで、1Pageは(設定を未反映で)デフォルトのままであるが
2ページ目から、用紙の方向が制御できた。
左、上の白紙サイズが制御できた。
上記のコード
Private Sub PrintDocument1_PrintPage( _
byval sender as system.Object, _
byval e as system.drawing.printpageEventArgs) _
handles Printdocument1.printpage
e.Pagesettings.landscape=true
e.PageSettings.margines,Left=100
e.PageSettings.margine.top=80
e.graphics.drawing(”AAAAAAAAAAAAA",New Font("FontName",12), _
brushes.blank,e.MargineBounds.Left,Margine.bounds.buttom, _
StringFormat) '<=1Page文字表示
しかし未だ下記が未達成
1.1Page目からのマージン反映
2.用紙サイズの設定〔現在”A4"固定〕
3.行の高さ指定〔もしくは、1ページの行数〕
用紙設定は
e.PageSettings.PaperSize= ???????
????の指定が分りません。
PageSetting.PaperSize は・・・
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemdrawingprintingpagesettingsclasspapersizetopic.asp
こちらをご参照下さい。
尚、1ページ目に反映されない件ですが・・・
PrintDocument1.Print()
として、初めてPrintDocument1_PrintPageに処理が
飛び込んでくるので、PrintDocument1.Print()以前
に設定を確定化しておかないといけないと思います
が・・・
ご参考までに。
以上。
PrintDocument1.Print()
を実行すると、PrintDocument1_PrintPageに飛んで
各頁の印刷出力コードを実行します。
現在、PrintDocument1.print()命令はプレビューダイアログや印刷ダイアログ
を抜けた時点で実行しております。印刷ダイアログ実行後はFromPage−ToPage
印刷部数が取り込めますので、クラスのメンバーデータにFromPg,ToPage,CopyCountを作ってこれをPrintDocument1_PrintPageの中の
アルゴリズムに取り込むことができました。しかし、頁サイズの設定は
intDocument1_PrintPageの前で設定というご指摘なので、なんとか
設定しようと思いますが、その引数e(As System.drawing.printingeventargs)
を設定する個所がありません。どのようなメカニズムで用紙サイズ、マージン
値を設定すればいいのかご教示願えませんでしょうか。
マルチポスト?↓
http://member.nifty.ne.jp/akis/
Document1.DefaultPagesettings.papersize=dociment1.printrersettings.papersize.item(N)
N=1->A3N=4->A4(プリンタ依存)でできました。
1ページ目から用紙の設定が可能になりました。
岡田様 謝謝