#PowerApps に印刷機能(Print関数)が搭載された！

Power Apps に印刷機能が搭載されましたね！
なお、Power Apps アプリから指定したファイルを印刷処理させる、というワケではありません。

# SpecialThanks
今朝 Twitter 眺めていたら [Hiro](https://twitter.com/mofumofu_dance) さんが Power Apps で印刷できるって動画Upしてたんですよね。是非、彼の記事もご確認ください！

[Power Apps が「印刷」に対応！ キャンバススクリーンのPDF化も可能に](https://mofumofupower.hatenablog.com/entry/powerapps_print)

んで、関数1発で印刷処理が実現可能らしいぞ、ってコトで当方も試しちゃった次第。

# 動作イメージ
[Gallery in Attachments](https://qiita.com/yamad365/items/48d1c03ba5c42272d8d2) と、単純にラベルコントロールを配置したアプリで動作確認してみた動画です。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr"><a href="https://twitter.com/hashtag/PowerApps?src=hash&amp;ref_src=twsrc%5Etfw">#PowerApps</a> に搭載された印刷機能(Print関数)を試してみた。Thanks <a href="https://twitter.com/mofumofu_dance?ref_src=twsrc%5Etfw">@mofumofu_dance</a> !!<br><br>当方は、複数台のプリンター設定＋普段はPDF出力を主にしてあるんですが、A4 がちゃんと指定されます。印刷の向きはプリンター設定に依存。ここらへんは利用者の環境依存な可能性大かなーです。 <a href="https://t.co/jrhaJIhKIo">pic.twitter.com/jrhaJIhKIo</a></p>&mdash; やま (Yama) (@yamad365) <a href="https://twitter.com/yamad365/status/1375235750581608451?ref_src=twsrc%5Etfw">March 25, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

# 「新しい画面」が追加されている
印刷用の新しい画面が2つ追加されています。下イメージは携帯電話レイアウトのデフォルト状態です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/d2d0ed99-84b7-453d-22c9-ecc2484d318a.png)

携帯電話レイアウトのデフォルトだと、画面は縦なんですが「横長で印刷」の画面(Screen)を追加すると、ちゃんと画面方向が"横"になりました。（なんか、この Screen だけタブレットレイアウトぽい）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/33c6d122-5d81-30b4-5803-4b2f092b509a.png)

# Print 関数
前述の印刷用画面を追加すると[印刷]のテキストが表示されたラベルが自動的に追加されます。このラベルの OnSelect プロパティを確認すると「Print()」となっているのがわかります。記事投稿時点で印刷処理は、この Print 関数を呼び出すだけで問題なさそうです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/ef80a6fa-40ca-d900-7324-92ad217883d6.png)
なお、過去に作成したアプリに当関数を追加して試してみましたが印刷処理が実行されました。つまり、この追加された画面(Screen)は画面の向きやサイズなどを印刷用にするため、という想定ができますね。

# Pirnt 関数が実行されると？
Print 関数が実行されると、ブラウザーの印刷ダイアログが表示されるようです。Print 関数が実行された画面(Screen)が印刷プレビューで確認可能です。ここからプリンターのダイアログを起動することも可能です。また、PDF を指定することでアプリの画面を PDF として保存することも可能です。

ちなみに Edge の場合「背景のグラフィックス」にチェックされてないと画像が表示されません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/79a0bfe8-1925-bd70-74ad-e1b0e0388dbb.png)

チェックするとちゃんと画像がでます。ここらへんは、Hiro さんの記事にもありましたね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/3745e213-6066-e25a-7324-c579f7cd9b10.png)
その他、余白が無いと色々残念な印刷プレビューになるコトがあります。リリースされたばかりの機能なので優しい目で進化を見守りたいと思います。

あ、あと、スマホでは Print 関数を実行させても何も起きませんでした。エラーも何も起こらないので、スマホの動作確認動画はありません(;^ω^)

# Power BI タイルコントロールは？
[某王子](https://twitter.com/yugoes1021) が気にしていたので、サクッと試せる範囲で Power Apps の Power BI タイルも印刷できるのか？を検証してみました。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">手元にあった良さげな <a href="https://twitter.com/hashtag/PowerBI?src=hash&amp;ref_src=twsrc%5Etfw">#PowerBI</a> レポートが以前 <a href="https://twitter.com/yugoes1021?ref_src=twsrc%5Etfw">@yugoes1021</a> 王子が公開してた Qiita 分析(※データは自分のヤツ)しかなかったんだけども。サクッと <a href="https://twitter.com/hashtag/PowerApps?src=hash&amp;ref_src=twsrc%5Etfw">#PowerApps</a> に埋め込んで Print 関数を叩いてみた。 → 王子ご指摘の検証１<br>どーも、背景というか、色が全部綺麗に出ないですねぇ(;^ω^) <a href="https://twitter.com/hashtag/PBIJP?src=hash&amp;ref_src=twsrc%5Etfw">#PBIJP</a> <a href="https://twitter.com/hashtag/JPAUG?src=hash&amp;ref_src=twsrc%5Etfw">#JPAUG</a> <a href="https://t.co/561lXknPH6">https://t.co/561lXknPH6</a> <a href="https://t.co/BtYbJ54kal">pic.twitter.com/BtYbJ54kal</a></p>&mdash; やま (Yama) (@yamad365) <a href="https://twitter.com/yamad365/status/1375380061717590022?ref_src=twsrc%5Etfw">March 26, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

残念ながら、背景色などが綺麗に出ませんでした。利用したサンプルが良くない可能性もあるのですが、Power BI タイルを利用した印刷も過信は禁物かな、という印象です。

# まとめ
現時点で、当方が「Power Apps で印刷したいわぁ！超☆印刷したい！」というシーンが無いのですが・・・ｗ。例えばアプリ画面上で QR コードやバーコードを生成して印刷させる等といった活用ができそうだな、という感じです。

印刷処理は利用している端末やプリンターの設定に大きく依存する箇所だと思います。ですので「過度な期待はせず、安全マージンを取って利用すべきかな」と個人的には考えている次第です。とは言え、Print 関数を1発書くだけでアプリ画面が印刷プレビューへ送れるのは面白いアップデートだと思いました。気になった方は是非ご自身でもお試しください！

それでは、皆さま、素晴らしい Power Platform Life を！