8
1

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で複数ページのリスト(Gallery)を印刷する方法【後編】:Power Automateで印刷を実現する

Last updated at Posted at 2025-12-24

はじめに

Power Appsで複数ページにわたるリスト(Gallery)を印刷したいという要件はよく出てきます。
前編では、通常の方法では複数ページのリストの印刷ができない理由を解説しました。

本記事は2部構成です:

後編では、Power Automateを活用した実装方法を解説します。

解決策の流れ

md-image.png

Power AppsでPDFを生成する

前編で確認した通り、PDF()関数を使えば複数ページのリストをPDFとして生成できます。

印刷用画面の準備

画面名: PrintScreen

// Galleryの設定(重要)
Gallery1.Items = MyCollection  // 複数アイテム
Gallery1.Height = 600  // 画面の高さ600px
Gallery1.TemplateSize = 80  // 各アイテム80px
Gallery1.ShowScrollbar = false // PDFにスクロールバーが表示されないようにする

md-image-5.png

PDF生成ボタンのOnSelect

// 1. PDF生成
Set(gblGeneratedPDF, PDF(PrintScreen, {
    ExpandContainers: true,  // すべてのアイテムを展開
    Size: "A4",
    Orientation: "Portrait"
}));

// 2. Power Automateフロー呼び出し
If(!IsBlank(gblGeneratedPDF),
    Set(gblFlowResult, 'SavePDFAndGetURL'.Run(gblGeneratedPDF))
);

// 3. ブラウザで表示
If(!IsBlank(gblFlowResult.pdfUrl) && gblFlowResult.success,
    Launch(gblFlowResult.pdfUrl);
    Notify("PDFを表示しました", NotificationType.Success)
);

ポイント

ポイント 内容 理由
ExpandContainers: true Gallery全体をPDFに展開 スクロール領域も含めて全アイテムを表示
Gallery.Height 全アイテム分の高さを設定 全アイテムがPDFに含まれるようにする
ShowScrollbar: false スクロールバーを非表示 PDFにスクロールバーが表示されないようにする

Power Automateフローを作成する

PDFビューアーコントロールでは印刷できないため、Power Automateを使ってSharePointに保存し、ブラウザで開く方法を採用します。

フロー名: SavePDFAndGetURL

フローの構成(3ステップ)

1. トリガー:Power Apps V2

入力パラメータを追加します:

パラメータ名 説明
pdf ファイル PDFのバイナリデータ

md-image-2.png

2. ファイルの作成(SharePoint)

設定項目
サイトアドレス SharePointサイトのURL
フォルダーパス /Shared Documents/ForPdf
ファイル名 pdf name(トリガーから)
ファイルコンテンツ pdf contentBytes(トリガーから)

md-image-1.png

3. Power Appsに応答する

出力パラメータを設定します:

パラメータ名
URL テキスト SharePointサイトのURL/「ファイルの作成」の {body/Path}

md-image-4.png

Power Appsにフローを追加

Power Apps → 「Power Automate」 → 「フローの追加」 → SavePDFAndGetURL を選択

ブラウザで表示する

Launch()関数でブラウザを開きます。

// gblFlowResultからURLを取得してブラウザで開く
If(!IsBlank(gblFlowResult.pdfUrl) && gblFlowResult.success,
    Launch(gblFlowResult.pdfUrl);
    Notify("PDFを表示しました", NotificationType.Success),
    Notify("PDFの表示に失敗しました", NotificationType.Error)
)

ブラウザでPDFが開いたら、PDFビューアの印刷ボタンクリック、またはCtrl+Pで印刷できます。

使い方

  1. PDF生成ボタンをクリック → SharePointに保存 → ブラウザで自動表示
  2. ブラウザのPDFビューアの印刷ボタンクリック、またはCtrl+P → 印刷

まとめ

PDF()関数 + Power Automate + SharePoint + Launch()関数の組み合わせで、複数ページのリスト(Gallery)を印刷できるようになりました。

ポイント

ポイント 内容 効果
ExpandContainers: true Gallery全体をPDFに展開 全アイテムがPDFに含まれる
Power Automate SharePointに保存してURL取得 ブラウザで開けるURLを取得
Launch() ブラウザで開いて印刷可能に ブラウザの印刷機能が使える

この方法で、大量データの印刷が実現できます。ぜひお試しください!

参考

8
1
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
8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?