いいね!数

0

閲覧数
2484

Xpageで作成したページを印刷する必要があり、現状IEのメニューより印刷をしているのですが、

毎回横向きにしないと1ページ以内に納まりません。

ページ上に印刷ボタンを追加し、デフォルトで横向きで印刷されるように機能を実装したいのですが、

可能でしょうか。

印刷設定の方法はCSS(@media print)やscriptxを使う例がありましたが、XPageでの実装方法が分からず、

良い方法があればご教授ください。

サーバー情報: | クライアント情報: | 
カテゴリ:アプリ開発 - XPages | タグ:
  | 質問日時:2017/01/20 16:34:32

回答・コメント

いいね!数

0

印刷自体はブラウザが行うので、XPagesは印刷自体には関与しないと思います(印刷自体を行うコマンドが用意されているわけじゃない)。

CSSで印刷設定ができるんですね。だったら、そのCSSを「リソース/スタイルシート」に組み込んで、印刷ページを表示するページにそのCSSを組み込めばいいと思いますよ。

そういうこと(CSSをページに組み込む方法)を聞きたいということでよろしい?

/Yac

回答日時:2017/01/21 10:21:44

いいね!数

0

yac4423様

ご回答ありがとうございます。

下記CSSの@media print @pageで印刷設定が出来ると思うのですが、
(CSSのこと自体が詳しく分かっておらず、使えるのかもわかりません。)
CSS:

@media print{
 @page {size: landscape; margin: auto;}
 }
※ landscapeで用紙を横向きと設定

このCSSをリソース/スタイルシートに追加し、対象ページのプロパティ/リソースに
追加した後に、そこからプロパティ(StyleClass?)に設定して、組み込む方法がわかりません。

回答日時:2017/01/24 9:02:00

いいね!数

1

印刷用CSSはまったく詳しくないので、はずしてるかもしれませんが、"CSS 印刷"とかで検索すると、CSSをmedia="print"つけて組み込めばよさそうです。

印刷用CSSをリソース/スタイルシートに追加し、対象ページのリソースに追加する方法はわかるんですよね。

追加した状態でソースコードタブに切り替えると、以下のように表示されてるところがあるはず。

<xp:styleSheet href="/myprint.css" ></xp:styleSheet>

ここを以下のように書き換えるとうまくいきそう。

<xp:styleSheet href="/myprint.css" media="print"></xp:styleSheet>

このページをブラウザで表示させてみるとCSSの部分は以下のように変換されてたので、これで印刷用CSSと認識されるんじゃないでしょうか。

<link rel="stylesheet" type="text/css" href="/xxxxx.nsf/myprint.css" media="print">

/Yac

回答日時:2017/01/24 23:25:16

いいね!数

0

yac4423様

ありがとうございます。

CSSをmedia="print"つけて組み込めば良かったのですね。

ただ残念なことにブラウザ環境がIE11なのですが、この@media printがIEでは無効?なようでした。Chromeでは上手く反映されました。

Xpagesからは離れる問題かと思いますので、もう少し自分で調べ直してみます。

回答日時:2017/01/25 11:45:39