はじめに
今回、Power AppsでPDFファイルを表示する方法について紹介したいと思います。
試験段階機能ではありますが、今回紹介する方法で実現することが可能になりました。
Power AppsとPower Automateの連携技ですので、Power Platformに興味を持っている方にはちょうど良い検証になると思います。
では、さっそくやっていきましょう。
今回のゴール
今回のゴールは以下のような画面です。
PDFの表示手順
手順1:PDFファイルの配置
アプリに表示させたいPDFファイルをSharePointのドキュメントライブラリに配置します。
手順2:フローの作成
Power Automateにてフローを作成します。
このフローは、Power Appsでギャラリーに表示されているPDFファイル一覧でファイルが選択されたときに、選択されたファイルをドキュメントライブラリに取得しにいき、Power Apps上に出力させるフローです。
トリガーはPower Apps(V2)を選択します。
次に「新しいステップ」から「ファイルコンテンツの取得」を選択します。
サイトのアドレスにはPDFファイルが配置されている「SharePointのサイト」を入力します。
ファイル識別子は、「Power Apps(V2)入力」を入力します。
次に「データ操作」の「作成」を選択します。
ここで、入力には以下のように式を入力してください。
dataUri(base64ToBinary(body('ファイル_コンテンツの取得')?['$Content']))
最後に「Power AppsまたはFlowに応答する」を選択します。
画像では、resultと「出力」が入力されていますが、resultは任意の文字列で大丈夫です。
「出力」については、必ず入力してください。
これで、フローの作成は完了ですので、保存をしておきましょう。
手順3:PDFファイルの表示
Power Appsの画面での操作です。
まず、新しい画面を生成します。
追加した画面内に垂直ギャラリーを配置します。
垂直ギャラリーのデータソースとして、PDFファイルが配置してあるドキュメントライブラリを選択します。
次にPDFビューアーを配置します。
既定でサンプルが表示されていますが、表示させたいものが表示できているわけではありません。
ギャラリーの「Onselect」プロパティを以下のように変更します。
Set(変数,フロー名.Run(垂直ギャラリー名.Selected.識別子).result)
私の場合ですと
Set(pdfdocument,パンカレンダー用フロー.Run(Gallery2.Selected.識別子).result)
最後にPDFビューアーの「Document」プロパティのSet関数で宣言した変数を入力します。
以上で、完成です。
もちろん、複数のファイルある場合でも問題なく切り替わります。
さいごに
Power AppsでPDFファイルを表示する方法について紹介しました。
Power AppsとPower Automateに触れることができるので、なにか機能を実装したいと思った方が挑戦するには良い題材だと思います。
ぜひ、実際に手を動かしてみてPower AppsとPower Automateに触れてみてください。