9
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Power Apps で縦長のページを印刷する

Last updated at Posted at 2025-08-03

はじめに

JPAUG 広島に参加した際にお話が出たので記事化しておこうと思います。
時々、Power Apps に表示されている画面を印刷したいという要望をいただくことがあります。
一番単純な実現方法としては、Print関数を使うことです。

例えば、以下のような問い合わせの案件内容画面を印刷したいとします。

image.png

image.png

しかし、Print 関数の場合、今画面に映っている範囲、つまり、このケースの場合、フォームコントロールの下の方は印刷されないことになります。それ以外にも、ギャラリーでスクロールが必要な場合などにも、今映っている画面しか印刷できません。

image.png

image.png

今回は、このような際の対策について記事化します。

対策

結論から言うと、PDF 関数を使います。PDF 関数では、画面または画面の一部を選択して、PDF オブジェクト (blob) にエクスポートすることができます。

※以下の設定をオンにしておく必要があります

image.png

例えば、以下のように、アイコンを押すとフォームコントロールを配下に含むコンテナーを PDF オブジェクトにして変数に格納します。

Set(
    varWorkOrderPDF,
    PDF(
        con_Detail,
        {ExpandContainers: true}
    )
);
Navigate('PDF Viewer Screen');

image.png

ExpandContainers オプションを true にしておくこともポイントです。

image.png

そうすると、以下のような PDF オブジェクトが作成されます。※PDF ビューアーコントロールで表示しています

image.png

あとはこちらを基に印刷する感じなのですが、私が調べる限り、少しこちらが難しかったです。
最終的には、Power Automate に情報を渡して、SharePoint ドキュメントライブラリに保存して、その URL を Power Apps に返してダウンロードするようにしました。

Power Automate 側では、ファイルを受け取って、以下のようにして、SharePoint ドキュメントライブラリにファイルを保存します。

image.png

ファイル名の方は、以下のように指定しています。

image.png

ダウンロード用の URL ですが、調べたところ、以下のような感じで URL を生成することで実現できました。難しい場合は、ファイル保存先のドキュメントライブラリの URL だけ返して、そちらを開いて、PDF 開く形でも良いかと思います。

https://テナント名.sharepoint.com/sites/サイト名/_layouts/15/download.aspx?SourceUrl=/sites/サイト名outputs('ファイルの作成')?['body/Path']

サイトのところだけ動的な値を使っています。

image.png

最後に、Power Apps 側では、以下のようにして、PDF ファイルを Power Automate に渡して、返ってきた URL を使ってファイルをダウンロードします。

image.png

Download(
    PDFSaveフロー.Run(
        {
            file: {
                name: $"Toiawase_{Text(
                    Now(),
                    "yyyymmddhhmmss"
                )}.pdf",
                contentBytes: varWorkOrderPDF
            }
        }
    ).url
);

実行すると、PDF ファイルが開けたため、印刷をします。

image.png

まとめ

今回は、Power Apps で表示されている画面を PDF 関数を使って印刷する方法を紹介しました。どうしても印刷できるようにしたいものの、Print 関数では、スクロールが必要な場合全て表示されないため、一つの対策になると考えます。参考になれば幸いです。

9
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?