- PR -

ページ印刷時の、最下部を決め打ちしたい

投稿者投稿内容
しい
常連さん
会議室デビュー日: 2006/07/12
投稿数: 27
お住まい・勤務地: 関東
投稿日時: 2008-04-21 17:20
お世話になります。

Htmlの<table>で、帳票を作成しました。ブラウザより印刷して使います。

この帳票には任意の文字数の”文章”を出力(表示)するセルが真ん中にあり、その文章の長さによっては、印刷物が2ページ目、3ページ目と増えて(伸びて)ゆきます。
(文章の長さはまちまちなので、heightで固定できません)

しかしながら、どうしても用紙のフッターに、「承認印」を捺印する枠線(Tableタグ)を置きたいのですが、途中の文章セルの長さ次第で、最下部ではなく、2ページの上に来てしまったり、
3ページ目の真ん中に来てしまったり、バラバラです。

用紙のフッター・最下部に、決め打ちでHtmlを設置する事はできませんでしょうか?
分かり難い文章ですみませんが、何かご存知の方いらっしゃいましたら、お願い致します。
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2008-04-21 17:30
先にフッターだけ印刷した紙に、テーブルを出力しては。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-04-21 17:32
高さが決められないとなると計算さえできないので、印刷のみコンポーネントを使うという手段が賢明かと思われます。(表示は PDF などにする)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
しい
常連さん
会議室デビュー日: 2006/07/12
投稿数: 27
お住まい・勤務地: 関東
投稿日時: 2008-04-21 20:00
mio様
新しい発想ありがとうございます。柔軟な考え、勉強になりました。
今回は、対象帳票専用に用意されたプリンタではないため、ちょっと厳しそうです。。

じゃんぬねっと様
以前、.net付属のクリスタルレポートで作成していたのですが、PrintJobLimitがすぐに来てしまい(値増やしても追いつかず)、断念しておりました。ちょっと研究してみようと思います。ありがとうございました。

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-04-22 09:42
引用:

しいさんの書き込み (2008-04-21 20:00) より:

以前、.net付属のクリスタルレポートで作成していたのですが、PrintJobLimitがすぐに来てしまい(値増やしても追いつかず)、断念しておりました。ちょっと研究してみようと思います。ありがとうございました。


その原因の多くはただの Dispose 漏れが大半です。 そこそこの規模の Web アプリケーションでも 75 程度あれば十分です。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
しい
常連さん
会議室デビュー日: 2006/07/12
投稿数: 27
お住まい・勤務地: 関東
投稿日時: 2008-04-22 19:26
じゃんぬねっと様>

自分でも、Disposeが原因だとは思っているのですが、Disposeすると、「レポートファイルパスが無効です。」となってしまいます・・・。
どんどん話題がずれて恐縮ですが、現在は、IEの印刷時のフッターを、CSSで強制的にコントロールしたく(ページ番号を入れたい)苦戦しております。。


※さすがじゃんぬねっとさんは、知識が広いですね。
いつも読ませて頂いております。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-04-23 10:17
引用:

しいさんの書き込み (2008-04-22 19:26) より:

自分でも、Disposeが原因だとは思っているのですが、Disposeすると、「レポートファイルパスが無効です。」となってしまいます・・・。


ではこちらを解決すれば済む話ということですね。 であるなら、まずこのレポートが外部レポートか内部レポートかを教えて頂けないでしょうか? CrystalReports でありがちな間違いが Load メソッドにパスを指定していないパターンです。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
しい
常連さん
会議室デビュー日: 2006/07/12
投稿数: 27
お住まい・勤務地: 関東
投稿日時: 2008-04-23 11:13
じゃんぬねっと様>

お相手をして頂き、大変恐縮です。
aspxページの中にレポートを設置しているので、内部レポートという事になりますでしょうか・・・。

aspxページの中に、CrystalReportViewerを置いて使っております。
図々しくてすみませんが、下記のようなコードになっている事を書かせて頂きます。


Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged
'印刷したいレポートをグリッドビューから選択する
binder()
End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'プレビューをPDFにしたり、印刷にする際、そのつど動く。
binder()
End Sub

Public Function binder()
Try

Dim crReport As Object = New CrystalDecisions.CrystalReports.Engine.ReportDocument()
crReport.Load(Request.MapPath("hoge.rpt"))
'(ここで、レポートのパラメータフィールドに対して、印刷対象を選択させる値の引渡しを行う)
Me.CrystalReportViewer1.ReportSource = crReport
'●ここでレポートオブジェクトを.dispose()するとエラーです。本当はここでdisposeをさせたいです。
Catch

Response.Write(Err.Description().ToString)
Finally
End Try
End Function


お返事いただけると幸いです。
よろしくおねがい致します。

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