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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

4回答

9159閲覧

ブラウザからの印刷の自動化

iorim

総合スコア13

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/08/09 15:30

実現したいこと

PHP(WordPress)で店舗の補助ツール*を作成しています。

今回ご相談したいのは、領収証・ピッキングシートの印刷に関する点なのですが、
お客様に印刷ボタンを押していただいたのちに3枚(内部保管用・ピッキングシート・領収証)の印刷をしたいと考えております。
JavaScriptのwindow.print()メソッドで印刷ボタン自体は機能するのですが、

  1. プレビュー画面が開いてしまう
  2. 1.を回避するため --disable-print-preview でブラウザを開くようにしたがWindowsの印刷ダイアログが出てしまう
  3. 2.が仮に回避できたとしても3部印刷しないといけない

と困っております。
(JavaScriptからブラウザ外部の処理をどうこうすることが難しいというのは既知。)

自動的に3部印刷できるような仕組みを考えていますが、思いつかず...
アイデアを戴きたく投稿させていただきました。お忙しいところ恐れ入りますがお知恵をお貸しください...!

(一度PDFに出力してから別ツールを利用する...などもOK、予算は期待できない)

前提条件

*ツールの大まかな概要は
オンラインで予約してもらう → 受付番号と受付パスコードでチェックイン → 領収証・ピッキングシートを印刷 → レジにて引換
(書籍の2段バーコードの仕組みを利用しておりバーコードの読み取りで引換)

  • WordPress 5.8-ja
  • jquery-1.12.4(バージョンアップ予定あり)
  • PHP7.4.13
  • サーバーの都合上 サーバー上にコマンドを打つことはできない(レンタルサーバ)
  • 「印刷しない」など根本的な部分についての変更は難しい(多客時間帯は時間あたり300人ほど来店、2~3 端末で回す予定)
  • バーコードの描写は jquery-barcode.js を利用し、CSSベースで作成

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

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

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

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

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

m.ts10806

2021/08/09 20:25 編集

ご認識の通り、印刷自体はブラウザから離れた事象なのでそこで自動化は無理ではないかと。Webアプリを離れる(諦める?)という選択肢なら可能にはなりそうですが。
guest

回答4

0

環境が許すか微妙ですが
ローカルにサーバー環境を用意し、所定の処理をlprでプリンターに流し込むとか検討できるかもしれません

投稿2021/08/10 04:31

yambejp

総合スコア114784

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

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

iorim

2021/08/25 22:46

ご回答ありがとうございます! ローカルにサーバー環境を用意するのはやっぱり難しく... 今回は別の方法で解消しました。機会があればご回答いただいた内容も試してみたいと思います!
guest

0

面白そうですね。

何の検証もしていないのでアイディアだけですが、以下のような仕組みでできる気がします。

・クライアント端末のブラウザから、サーバに対して印刷指示
・「サーバサイド」から「クライアントのプリンター」へ印刷ジョブを発行

プリンタの種類を特定機種に絞るとか、VPN が必要とか、別の制限は発生しそうですけど^^;

投稿2021/08/09 22:50

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

iorim

2021/08/25 22:48

ご回答ありがとうございます! 今回は違う方法で実現しましたが、ご回答いただいた内容 おもしろそうです。いつかトライしてみたいと思います!
guest

0

ベストアンサー

ページを表示して印刷するクライアント端末のブラウザにChromeを使えるのであれば、、、

以下のページの説明のように起動オプションを指定してChromeを起動できれば、ダイアログ非表示で印刷できそうです。

[Chrome] 印刷ダイアログを非表示にして直接印刷する方法
https://qiita.com/okoppe8/items/8838ef4daebb79f6a8ff

あとは、window.printでは部数指定はできないので、Javascript側でwindow.printをwait入れつつ3連続処理するというのはありかと思います。

このようなアプローチはいかがでしょうか?

投稿2021/08/19 05:41

編集2021/08/19 05:42
AnMoreNight

総合スコア109

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

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

iorim

2021/08/25 22:52

ご回答ありがとうございます! 結論から申しますとchromeが使える環境でしたのでkiosk printingで起動させ、3枚分のデータを持つことにしました。ありがとうございました!
guest

0

3部印刷についてですが、
印刷前後のイベントを利用して印刷時だけ3部分のページを用意すればどうでしょうか?

投稿2021/08/11 06:41

macof

総合スコア83

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

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

iorim

2021/08/25 22:49

ご回答ありがとうございます! ご回答いただいたように3枚分用意した方がいいという結論に至りました。アイデアありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問