前提・実現したいこと
kotlinを用いてAndroidの印刷を実装しています。
今は目的が可能かどうかの調査中で、テストコードを書いています。
目標はボタンをクリックすると印刷を実施する事です。
プリンタはネットワークプリンタが接続されています。
ドライバも入れ、印刷自体は実現できています。
問題は印刷時にプレビュー画面 (専用の名前があるか不明) が
表示されるのですが、これを省きたいと考えています。
Windowsで言うところのデフォルトプリンタで印刷、
あるいはプリンタ名をソースから指定などで対応できないかと
調査していますが、有用な情報を得られていません。
端末側の設定で実現可能なら、それでも良いので情報が欲しいです。
また無理である根拠があれば方針を考え直せるので、それも嬉しいです。
似た質問はありましたが、着地点が異なっていたり回答が無かったり
別のツールの話題だったりしたので、新規で質問して良いかなと判断しました。
発生している問題・エラーメッセージ
エラーは特に無し。
問題はプレビューが必ず表示される事。
該当のソースコード
kotlin
1import android.print.PrintManager 2 3view.findViewById<Button>(R.id.button_print).setOnClickListener { 4 val printManager = requireContext().getSystemService(Context.PRINT_SERVICE) as PrintManager 5 val jobName = this.getString(R.string.app_name) + " Document" 6 7 // HogeDocumentAdapter は適当な文字を出力する程度の実装。 8 printManager.print(jobName, HogeDocumentAdapter(activity), null) 9} 10
試したこと
・Webやこのサイトで「Android 印刷 プレビューなし」等 etc の条件で検索。
・printManager.print() 以外に該当するメソッドが無いか確認。
・printManager.print() の第3引数オプション指定で可能か確認。
補足情報(FW/ツールのバージョンなど)
Android 7.0 (開発機のバージョンなので固定ではないですが、とりあえず)
Android Studio 4.1.2
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。