質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Internet Explorer

Internet Explorer(IE;MSIE)はマイクロソフトが開発したウェブブラウザです。Microsoft Windowsに組み込まれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

1回答

354閲覧

IE6準拠のページで印刷時に一部コンテンツが印刷されない

退会済みユーザー

退会済みユーザー

総合スコア0

Internet Explorer

Internet Explorer(IE;MSIE)はマイクロソフトが開発したウェブブラウザです。Microsoft Windowsに組み込まれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2018/05/23 02:06

編集2018/05/23 02:08

いつもお世話になっております。
今現在、私が保守担当になっている案件でWebページの一部コンテンツが印刷されない事象が発生しております。
環境が古く、約10年前のものを保守している状況です。また会社の方針により作り直し等は今の所計画されていないため、条件が限られてしまいます。
レイアウトやページ構造などの軽微なコード修正であれば可能なため、ご存知でしたら知恵をお貸りできればと思います。

事象

PHPでサーバーサイドレンダリングしたページにて、印刷時にページの切れ目が特定の場所になった場合コンテンツが表示されない。

コードと、詳細の説明。

ページ構成、印刷範囲は下記の通りで、アウトラインの構成は以下の通りです。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>(機密保持のため削除)</title> </head> <body> <h1>印刷のタイトル<h1> <form> <h2>売上明細</h2> <table> <!-- コンテンツの長さは可変。PHPでSSRを行う --> </table> <h2>入出金(必要経費等)</h2> <table> <!-- コンテンツの長さは可変。PHPでSSRを行う --> </table> <h2>合計</h2> <table> <!-- コンテンツの長さは可変。PHPでSSRを行う --> </table> </form> </body> </html>

可変長テーブルの長さにより、印刷範囲が1ページを超える場合が多々あります。
ちょうどページの切れ目が入出金額と合計の<h2>のあたりになった場合に、2ページ目には合計のテーブルが印字されません。
また、テーブルの長さが長くなり、入出金のテーブルが2ページ目まで及ぶような場合は印刷できます。

動作環境など

サーバー側

  • php5.6
  • windows server 2012 R2

クライアント側

  • Windows 7 Professional
  • IE11 (互換表示設定を使用)
  • 印刷サイズ:A4

条件

顧客へ納品している案件につき、手元には全く同じハードウェアは用意できmませんでした。またプリンタによる違いかと思いますが、同じプリンタを用意できなかったため、手元の環境では再現できませんでした。
また、リピート納品の案件のため、開発費などの捻出および、モダンブラウザ等への対応費用もかけられない状況です。

追記

印刷時のサイズ指定を90%に指定すれば印刷できます。しかしながら、顧客にこの方法を提案したところ受け入れてはいただけませんでした。

試してみたこと

顧客DBをdumpし、同じコードで実行。Windows 7マシンにてIE11(互換表示設定)で表示しました。
印刷を実行。A4ですが、プリンタが違うため事象は再現できず。

回答として頂きたい内容

印刷範囲を<div>で囲ってしまえば印字できるのではないかと予想していますが、この対応方法で可能でしょうか。
その他、修正の案があれば・・・。

再現には現場にて実行する必要があるため、試す内容やベストアンサー等は遅くなってしまいます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoshinavi

2018/05/24 00:26

印刷プレビューでは問題なく表示されてはいるのでしょうか? 90%での印刷が可能ならば、余白の調整ではどうでしょうか?
退会済みユーザー

退会済みユーザー

2018/05/24 00:31

印刷プレビューについては現場に確認してみます。Webページの余白調整や、90%の印刷などは項目数が可変のため、すべて対応しきれないと考えております。
退会済みユーザー

退会済みユーザー

2018/05/24 02:19

アドバイス頂きありがとうございます。内容確認してみましたが、しかしながら印刷サイズ指定ではないと考えております。サイズ指定ではコンテンツ数のは可変のため対応できず、、、対策に苦慮しております。
guest

回答1

0

保守お疲れ様です・・・大変ですね。
PHPの知見が無いのでインフラ視点の部分で書いてみます。

  1. 契約の確認

 保守の方に言うのも気が引けるのですが、そもそもの契約をご確認された方が良いと思います。
恐らくはプログラムの動作する環境を指定(この場合はIE6)しているかなと思われます。
また、バージョンアップに対する規定もあるのかなと思います。
上記あたりでそもそも今の環境が保守対象外であれば、問題への対応も不要かと
(長年のお付き合いがある等々で言えないのも解ります)
0. 互換性表示について
https://www.buildinsider.net/web/ie11attention/01
IEの設定だけですと、具体的なバージョンの指定ができないので、上記URLのように<meta>タグの指定をしてはどうでしょうか。
0. プリンタについて
印刷範囲等々についてはプリンタドライバによる影響が大きいです。そのため、インフラ屋さんとしてプログラムって言うより環境側だよなって感じもします。ミリ単位で印刷レイアウトが決まっていないのであれば、印刷サイズ指定90%も立派な対応だと思います。この辺りは「1.契約の確認」で保守対象外の場合は、運用回避として実施して貰えば(強気にいける)いいのかなと思います。

投稿2018/05/23 03:45

gitya107

総合スコア706

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/05/24 00:38

早速の回答ありがとうございます。契約は・・・私の力ではどうしようもありません。 また、昔開発したもののリピート案件なので作り直し等もできず。(会社のほうはシステム更新の重要性は理解していないです) 設定などについては、顧客側でも操作するのは派遣社員やアルバイトのため、そこまで求められないとのこと。 また、印字サイズの指定では項目数が変化した場合に対応できない(操作する人はそこまで考えられない人)なので、コード側でなんとかなるなら・・・。コードで解決できればこの現場からの電話対応も減るのでベストと考えております。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問