Print Mergin

解決


サム  URL  2004-02-25 15:21:44  No: 82269  IP: [192.*.*.*]

VB.BET WindowsXP(HomePage)環境で
System.DrawingPrinting.PrintDocument
System.Windows.Forms.PrintPreviewDialog
System.Windows.Forms.PageSetupDialog

を使用して、(参考書にて単独の使用法をつなげて)
印刷プログラムを作成しております。

ランドスケープ角度などの読み込みは出来増したが、逆に
設定(ラドンドスケープ角=0<横書き>、A3用紙設定、マージン
<空白部分の巾設定>などがどうしてもできません。
これらの実例(例:A3横書き設定、Top空白80ドット、右空白50ドット
の)を実現する方法を教えてください。

編集 削除
岡田 之仁  2004-02-26 21:01:56  No: 82270  IP: [192.*.*.*]

そのものズバリではありません。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7782&forum=7

ご参考までに・・・

※  ただ、80ドットとか、50ドットと言うのは無理ですネ!
    あくまで、単位は、mmか、インチです。

以上。

編集 削除
サム  URL  2004-03-01 09:46:34  No: 82271  IP: [192.*.*.*]

助言により下記までは実現できました。
但し、下欄の不明点がのこります。
実現できた事
下記のコードで、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= ???????
????の指定が分りません。

編集 削除
岡田 之仁  2004-03-01 10:15:30  No: 82272  IP: [192.*.*.*]

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()以前
に設定を確定化しておかないといけないと思います
が・・・

ご参考までに。

以上。

編集 削除
サム  2004-03-02 12:20:05  No: 82273  IP: [192.*.*.*]

PrintDocument1.Print()
を実行すると、PrintDocument1_PrintPageに飛んで
各頁の印刷出力コードを実行します。
現在、PrintDocument1.print()命令はプレビューダイアログや印刷ダイアログ
を抜けた時点で実行しております。印刷ダイアログ実行後はFromPage−ToPage
印刷部数が取り込めますので、クラスのメンバーデータにFromPg,ToPage,CopyCountを作ってこれをPrintDocument1_PrintPageの中の
アルゴリズムに取り込むことができました。しかし、頁サイズの設定は
intDocument1_PrintPageの前で設定というご指摘なので、なんとか
設定しようと思いますが、その引数e(As System.drawing.printingeventargs)
を設定する個所がありません。どのようなメカニズムで用紙サイズ、マージン
値を設定すればいいのかご教示願えませんでしょうか。

編集 削除
マルチポスト?  2004-03-04 14:46:34  No: 82274  IP: [192.*.*.*]

マルチポスト?↓

http://member.nifty.ne.jp/akis/

編集 削除
サム  2004-03-11 15:49:43  No: 82275  IP: [192.*.*.*]

Document1.DefaultPagesettings.papersize=dociment1.printrersettings.papersize.item(N)
N=1->A3N=4->A4(プリンタ依存)でできました。
1ページ目から用紙の設定が可能になりました。

岡田様  謝謝

編集 削除