• 締切済み

WEB画面を非表示にして印刷

WEB画面上で以下のようなことがしたいのですが、可能でしょうか? 可能な場合、記述方法を教えてください。 使用言語はPHPとjsでお願いしたいです。 1.test1.phpの画面内印刷ボタンをクリック(formもしくはjs処理で2へ。引数を渡します) ---ポップアップで「印刷中です」と表示---(test2.php内に記述?) 2.test2.phpでtest1.phpからの引数を用いた内部処理を実行して印刷画面(体裁記述はhtml)を作成 3.印刷実行(window.print()?)(ローカルのプリンタ設定画面(Windowsポップアップの「印刷」というもの)が表示されてしまう?) ---印刷終了したらポップアップを閉じる--- という感じなのですが、 ・test2.phpのWEB画面を表示せずに(表示はtest1.phpのまま)印刷することは可能なのでしょうか? ・3.のローカル側の確認画面もできれば出したくないです。でもこれは難しそうですよね…? ・また、もしどうしてもtest2.phpの画面が表示されたとしても、印刷終了時にtest1.phpへ戻りたいです。 ・印刷の開始、終了を検知することはできるのでしょうか? やりたいことは以上のような感じなのですが、もし上記が難しくても、別の処理フローや代替案があれば教えていただきたいです(>_<) よろしくお願いしますm(__)m

  • HTML
  • 回答数1
  • ありがとう数1

みんなの回答

  • dell_OK
  • ベストアンサー率13% (740/5644)
回答No.1

test2.phpの画面を表示していないように見せかけて印刷処理へ遷移し、test1.phpへ戻ったかのように見せかける、ならできそうです。 ひとつのウインドウ内で処理するには、HTML出力した体裁が見えてしまうのと、仮に見えないようにHTML上で非表示にしてしまうと印刷結果も非表示になってしまうと思うので、別ウインドウにて処理する事を発案しました。 注意点 ※ポップアップで「印刷中です」の表示方法はわかりません。 ※ローカルのプリンタ設定画面は表示されてしまいます。 ※test2.phpの画面は別ウインドウで開き、ディスプレイの表示領域外へ表示します。 ※印刷処理後そのウインドウを閉じる事でさもtest1.phpへ戻ったかのように見えます。 ※引数はGETで取得します。 ※印刷の開始終了の検知はJavaScriptでなんとなくやってみましたが、alert()などを実行するとtest2.phpのウインドウが閉じられなくなります。 test1.php --------- <body> <script type="text/javascript"> <!-- function jprint(){ //印刷開始の検知 document.write("印刷中です"); //印刷処理 pwindow = window.open("test2.php?d=引数","_blank","left=100000"); pwindow.close(); } //--> </script> <?php switch ($_GET["p"]){ case "e"; ?> 印刷しました <?php break; default: ?> <input type="button" value="印刷" onClick="jprint()"> <?php } ?> </body> test2.php --------- <script type="text/javascript"> <!-- //印刷終了を検知:test1.phpによってウインドウが閉じられる事で発生 function pend(){ window.opener.location="test1.php?p=e"; } //--> </script> <body onUnload="pend()"> <?php //引数を用いた処理でHTMLの体裁出力 echo $_GET["d"]; ?> <script type="text/javascript"> <!-- //印刷処理 window.print(); //--> </script> </body> OSやブラウザによっては期待通りに動作しないかも知れません。 また、私の環境でもうまく動作する時としない時がありました。 うまく動作しないと言うのは、test2.phpのウインドウが閉じられなくなる現象です。

関連するQ&A

  • web画面から呼び出したphp処理を途中キャンセル

    現在、phpでwebシステムを作っています。 画面上のボタンの押下イベントでphpのファイル出力処理を呼び出し、 「処理中」の文字列と「キャンセルボタン」が表示された別ウィンドウを起動させるのですが、 その別ウィンドウで「キャンセル」ボタンを押された時の、phpを中断させる処理が分かりません。 ajaxの非同期通信でphpを呼び出して処理中画面を表示させるところまでは分かるのですが、 その後に処理中断させる時にはど、どうすれば良いのでしょうか? どのphpモジュールを終了させるのか特定できればと思ったのですが、その方法も分からず… それかスレッドとかを使えばいけるのでしょうか?(スレッドもよく分かってませんが…;) 手詰まりで大変困っています。ヒントだけでもご教授いただければ本当に助かります。 どうぞよろしくお願いいたします。 -------- phpのバージョン:5.0 ajaxライブラリ:prototype.js 6.0

    • ベストアンサー
    • PHP
  • 印刷するには?

    よくあるページの中のクーポンの箇所だけプリントするといったことをしたいのですが。 多分、何通りかの方法があって、cssでクーポンの箇所以外をdisplay:none;にして印刷する方法やポップアップでクーポンの箇所だけポップアップして印刷する方法など。 現状は「印刷する」っていうボタンを押すとポップアップウインドが開いて印刷ウイザードが開くって感じなんですけど。 出来ればポップアップしないでボタンを押したら印刷ウィザードが開いて印刷したいのですが。 そこで、ajaxを使ってバックグラウンドで出来ないかなって思ったんですけど、どうもうまくいきません。 実際、バックグラウンドでの印刷処理って可能なんでしょうかね? ajaxの処理はprototype.jsでAjax.Requestで処理しています。 それかprint()関数で他のページを印刷することって出来ないんですか?ググってもそれらしきものがなかったので。

  • 全画面表示を終了するには・・・を非表示

    Chromeで全画面表示にすると「全画面表示を終了するには~」とポップアップが出ます。これを出ないようにする設定方法・拡張機能があれば教えて下さい。 OSはWindows8.1です。

  • web画面の表示がむちゃくちゃになってしまう

    ninja2003を使っています。 データをアップして、web画面で表示してみると、jinjaでプレビューした画面のようにならず、レイアウトがばらばらで画像のリンクなども違うページ間をまたがって表示されてしまいます。 きっとhtmlの記述が変になっていると思うのですが、記述はjinja任せなので、解決できる方法が思い当たりません。 思い当たる節があるとすれば、一度アップしたデータを更新するのにうまく更新できず、通信設定でパッシブモードを選びました。(参考までに、最初にアップした画面は、ちゃんとレイアウト通りに表示できていました。) あとは、一度サーバー側のデータを全部削除し、もう一度全部アップしなおしました。 ひょっとして解決できるかと期待しましたが、ダメでした。 解決方法に心当たりのある方、どうかよきアドバイスをお願いします。

  • 画面非表示で処理だけしたい

    PHPファイルを別のPHPプログラムのボタンを押す事により実行させたいのですが、非表示で処理だけ実行させる事はできるのでしょうか?(ボタンがある画面は表示したままで)

    • ベストアンサー
    • PHP
  • シェルスクリプトからPHP実行

    シェルスクリプト(bash)内で、以下のようにPHPを呼んだ場合、 その次の処理がPHPの終了を待たずに実行されるようなのですが、 どうしてでしょうか? #!\bin\bash /usr/local/php4/bin/php /home/test.php echo "test!" 以上 なぜか test! という表示がPHPの処理中に出るように思えます。

  • 突然、Internet Explorerで表示したページが印刷できなくなりました

    突然、Internet Explorerで表示したページが印刷できなくなりました ファイルメニューから「印刷」を選択すると、「'file:///Users/XXXXX/AppData/Local/Temp/Low/XXXXX.htm'が見つかりません。パスまたはインターネットアドレスが正しいかどうか確認してください」とポップアップ表示されます。 インターネットは問題なく接続できますし、インターネット以外の文書の印刷も問題ありません。 直前に「ディスククリーンアップ」を実行しましたが、その際に必要なファイルを削除してしまったのでしょうか。「システムの復元」を試しましたがダメでした。このような経験は初めてで困っています。ちなみにOSはビスタです。 回復方法教えていただければ助かります。よろしくお願いします。

  • webページの印刷が出来ません

    webページの印刷が出来ないで困っています。 WEBブラウザはInternetExplorerでwindows98、プリンタはブラザーのmy MIOです。どのwebページでも印刷ボタンを押すと、「スクリプトエラー」の表示が出て、「引数が無効です」と書いてあります。コピーやワード・エクセルの印刷は出来ます。どなたかご回答お願いします。

  • 印刷設定画面で「印刷ボタン」が画面中に出てこない

    ノートパソコン富士通LIFEBOOK PH50を最近いつのまにかウィンドウズ7から10にUPしてしまい、webページの印刷をするに、プリンターcanon MG6130の印刷設定値を入力する画面で、たぶん一番下にある「印刷実行ボタン」が画面にスクロールできないので隠れたままなのでボタン操作できないので印刷できない。 印刷設定の画面領域がディスクトップ画面範囲外なので「スクロール」できるはずと思いますがwindows10になったので操作方法がわからずまったく印刷できないのでどうしたらよいか

  • ダウンロード後に自動で画面を移動

    簡単なダウンロードシステムを制作しています。 サーバ側はPHPを使用しています。 ダウンロード画面からファイルを選択し、ダウンロードのポップアップ「開く」「保存」「キャンセル」のどれかを選択後に、ダウンロード画面を完了画面に推移したいと考えています。 この場合、ダウンロードのポップアップが表示された時点でクライアント側に処理が移行しているので、PHPは無関係と考えております。 JavaScriptや他の方法で可能であればご教授下さい。 宜しくお願いします。

専門家に質問してみよう