- PR -

CrystalReportでのユーザー定義用紙の設定方法

1
投稿者投稿内容
しつもんた
会議室デビュー日: 2004/03/19
投稿数: 4
投稿日時: 2004-03-19 17:44
OS:Windows2000,WindowsXP
Crystal Reports for Visual Studio .NET
VB.NET(2003)

現在、クリスタルレポートから指定帳票用紙に印刷する開発をしていますが、
コードからユーザ定義の用紙を指定できずに困っています。

OSの印刷設定から「サーバーのプロパティ」で
9.5×4.5 インチのユーザ定義用紙を作成しました。

印刷方向は以下の指定方法で出来ています。
-----------------------------------------------------
Public Report1 As CrystalDecisions.CrystalReports.Engine.ReportDocument
'印刷方向(縦)
Report1.PrintOptions.PaperOrientation = CrystalDecisions.[Shared].PaperOrientation.Portrait
----------------------------------------------------

そこで用紙サイズの設定ですが、印刷方向のように
m_Report1.PrintOptions.PaperSize = CrystalDecisions.[Shared].PaperSize.○○○
と○○○にユーザ定義用紙を指定することはできないのでしょうか?
○○○にはA4などあらかじめメンバで用意されているものしか使用できないのでしょうか・・・。
PaperSizeを指定しないでプレビュー表示を行うと
「Letter」サイズで出力されてしまいます。
(ちなみに、レポートのデザイン作成時には9.5×4.5で作成しています)

アドバイス、解決方法などよろしくお願いします。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-03-22 08:03
 DefaultPaperSizeというのがありますから、ドライバの方でデフォルト設定をして、CrystalReportsの方は、DefaultPaperSizeにすればいいのでは?


 ただ、プリンタがその用紙に印刷(給排紙、印刷範囲)できることが前提になると思います。
しつもんた
会議室デビュー日: 2004/03/19
投稿数: 4
投稿日時: 2004-03-22 17:58
返信ありがとうございます。
レスが遅くなって申し訳ありません。

プリンタ側の設定で、用紙サイズの指定ができる箇所はすべて
ユーザー定義の設定に替えています。
DefaultPaperSizeでの設定をしてみても出力サイズはA4で出力されてしまうのです。

もしかしてプレビュー表示はユーザー定義での表示が不可能なのでしょうか?
(印刷もまだユーザー定義では出力できていませんが・・・)
かめたろ
ぬし
会議室デビュー日: 2003/03/20
投稿数: 255
投稿日時: 2004-03-23 10:45
2年程前、クリレポを使って連続帳票の伝票(ターンアラウンド○型とか)に印字する仕組みを作ったので、ユーザー定義で出すことは可能のはずです。

レポートデザイナで
 右クリック⇒デザイナ⇒プリンタの設定
で印刷設定ダイアログが出てきますので、その中の「プリンタなし」をチェックすると
どうなりますか?

あとは・・・
 OSのプリンタの設定で給紙トレイを自動ではなく具体的に指定したような・・・?

逃げの手としては
 出すプリンタが決まっているのであれば、プリンタドライバだけインストールして印刷設定ダイアログでそのプリンタを選択してしまう手もあると思います。
(全然わからなくて、プリンタごとに.rptを作ってやろうかと考えたこともありました)

他にもあいまいな記憶がありますが、ちゃんと思い出したら書き込みします。
的をはずしてませんか?
参考になればよいのですが。
しつもんた
会議室デビュー日: 2004/03/19
投稿数: 4
投稿日時: 2004-03-24 12:48
かめたろさん、アドバイスありがとうございます。

いろいろ参考にさせていただきました。
プレビュー表示についてですが、
私の勘違いもありプレビュー表示自体は作成したユーザー定義用紙で表示されていたようです。
(すみません)

しかし、どうしてもプリンターのデフォルトがLetterサイズになってしまいます。
印刷ダイアログについてですが、
必ずプレビュー表示をするとは限らずボタンを押すと直接印刷を行う仕様のため、
可能な限り出したくありません。

なぜドライバーではユーザー定義を指定しているのに、
クリスタルレポートでの印刷ではLetterになってしまうのかまだ分かりません。
OS側とコード側両方で給紙トレイを具体的に指定しています。

残念ながらまだ解決しそうにありません。
何か解決方法・アドバイス等ある方はよろしくお願いします。
1

スキルアップ/キャリアアップ(JOB@IT)