Power AppsからPDFを作成、直接ダウンロードする方法

【知らなきゃ損!Power Appsに簡単にPDFを作成するツールがあります】

「PCで表示されている内容をそのままPDFにできたらいいのに・・・」と思ったことはないでしょうか?

Power AppsのPDF関数をうまく使えば、簡単にPDFファイルが手に入ります

ちなみにPDF関数はデフォルトではつかえません

上の画像の’設定’>’更新’>’試験段階’から設定する必要があります

上の画像のPDF関数の箇所をオンにしましょう!

PDF関数

PDF関数を使用すると、Container、GalleryなどをPDFにすることができます

*****Sponsered Link***** ************************

文法的には次のようにSet関数と組み合わせて使用するのが一般的です

Set(myPDF,PDF(Container1))

PDF関数の引数にはPDFにする対象を指定します

そうすれば、PDFの中身がグローバル変数に設定されます

複数ページ対応

ちなみに今回、対象にするのは以下のようなContainerです

スクロールバーがGalleryにあります

つまり1ページではありません

ですので、普通のPDF関数の指定の仕方だと1ページしかPDFにできません

この場合は、PDF関数の引数を以下のように変更します

Set(myPDF,PDF(Container1,{ExpandContainers :true})

{ExpandContainers:true}の決まり文句を入れれば複数ページがPDFになります

直接ダウンロード

今までの設定で作成されたグローバル変数の内容だけでは直接ダウンロードできません(メールの添付やPower Automateで他に格納するなどはできます)

では、どうするかというと、JSON関数を使用して形式を変えます

Set(myPDF,JSON(PDF(Container1,{ExpandContainers :true}),JSONFormat.IncludeBinaryData)

こちらをPDFアイコンのOnSelectプロパティに設定しておきます

PDF出力

ここまでのところでPDFの元はできたことになります

上の画像はPDF関数で出力された内容をSet関数で変数に設定した内容です

ここから実際にPDFファイルを出力するにはもう2つ工夫があります

まずはフォームから添付ファイルカードの一部をコピーします

コピーするのはあくまで添付ファイルカード全体ではなく、一部です

つまり直接、ファイルを扱う部品のみが必要ということです

実際にコピーすると数か所のプロパティで赤字のエラーがでますが、そちらは消去しておきます

プロパティで直接、設定するのはItemsプロパティになります

[{Name:”TEST.pdf”,Value:Substitute(myPDF,””””,””)}]

Nameの箇所にはファイル名を、Valueの箇所はSubstitute関数を使用してグローバル変数の中身を一部置き換えます

これで完成です

実際にPDFアイコンを押した後に、上の画像のマークをクリックするとPDF関数で指定した内容がPDFファイルになります

<まとめ>

今回はPower AppsにてPDFファイルを直接ダウンロードする方法を解説しました

全体的にはそんなに設定量は多くないのですが、少しトリッキーな設定内容があります

大きく分けて2つあり、1つ目はPDF関数を使用するだけでなくJSON関数も使用する点です

2つ目はフォームの添付ファイルカードの一部を使用する点です

ただあくまで決まりきった設定内容なので、上記のブログ内容を忠実に実行すれば大丈夫です



にほんブログ村 資格ブログ ビジネススキルへ

にほんブログ村

にほんブログ村 IT技術ブログ VBAへ

*****Sponsered Link***** ************************

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です