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

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

ただいまの
回答率

90.76%

  • HTML

    8316questions

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

  • Internet Explorer

    268questions

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

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

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 128

t_shinohara

score 146

いつもお世話になっております。
今現在、私が保守担当になっている案件で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>で囲ってしまえば印字できるのではないかと予想していますが、この対応方法で可能でしょうか。
その他、修正の案があれば・・・。

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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • yoshinavi

    2018/05/24 09:26

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

    キャンセル

  • t_shinohara

    2018/05/24 09:31

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

    キャンセル

  • yoshinavi

    2018/05/24 09:40

    印刷用CSSの設定があったりするのでしょうか? この辺りは参考になりますか?http://mtw.cocotte.jp/blog/diary/html/2009/05/07-2234.php

    キャンセル

  • t_shinohara

    2018/05/24 11:19

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

    キャンセル

回答 1

0

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/05/24 09:38

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

    キャンセル

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

  • ただいまの回答率 90.76%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • HTML

    8316questions

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

  • Internet Explorer

    268questions

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