はじめに
Power Appsで複数ページにわたるリスト(Gallery)を印刷したいという要件はよく出てきます。
しかし、通常の方法では複数ページのリストの印刷を実現できません。本記事では、その解決策について解説します。
本記事は2部構成です:
- 【前編】(この記事): Print関数とPDFコントロールの制限について解説
- 【後編】: PDFコントロールを活用した印刷の実現方法
前編では、なぜ通常の方法では複数ページのリストの印刷ができないのかを解説します。
Print()関数の制限
Power AppsのPrint()関数は、最もシンプルな印刷方法です。
Print()
しかし、3つの制限があります:
| 制限 | 内容 | 複数ページのリストの場合 |
|---|---|---|
| 表示範囲のみ | 画面の表示部分のみ印刷 | 7〜8アイテムのみ |
| スクロール非対応 | スクロール領域は印刷されない | 残りのアイテムは印刷されない |
| 複数ページ非対応 | 1ページに収まらない内容は切り取られる | レイアウトが崩れる |
具体例
Gallery1.Items = MyCollection // 複数アイテム
Gallery1.Height = 600 // 画面の高さ600px
Gallery1.TemplateSize = 80 // 各アイテム80px
この設定では、画面に表示されるのは約7〜8アイテムのみです。Print()関数では、この7〜8アイテムしか印刷されず、複数ページのリスト(Gallery)全体を印刷することはできません。
PDFビューアーコントロールの制限
「PDFで出力すればいいのでは?」と思うかもしれません。
Power AppsのPDFビューアーコントロールには、こんな特徴があります:
| 機能 | 対応状況 |
|---|---|
| PDF表示 | ✅ 可能 |
| ページめくり | ✅ 可能 |
| 印刷機能 | ❌ 不可 |
PDF()関数で生成→表示してみる
- (1) あらかじめ、設定>試験段階の PDF関数 をオンにします。
- (2) 「PDF生成」ボタンを押下すると、PDFを生成するようにします。
// 「PDF生成」ボタンを押下すると、PDFを生成。
Set(GeneratedPDF, PDF(Gallery1, {
ExpandContainers: true, // 全アイテムを展開
Size: "A4"
}))
- (3) PDFビューアーコントロールに、生成したPDFを設定します。
// PDFビューアーコントロールに、生成したPDFを設定。
PDFViewer1のDocument プロパティに GeneratedPDF を設定します。
これで複数ページのPDFを表示できますが、印刷ボタンがありません。
- 1ページ目を表示
- 2ページ目を表示
補足:
- PDFコントロール自体に印刷ボタンはない
- ブラウザの印刷機能(Ctrl+P)も使えない
- 表示されたPDFを直接印刷できない
つまり、PDFビューアーコントロールでは、PDFは表示できるのですが、印刷できません。
課題まとめと解決策のヒント
課題
Print()関数
→ 7〜8アイテムのみ印刷 ❌
PDFビューアーコントロール
→ 複数ページのリストを表示できるが、印刷できない ❌
解決策のヒント
解決策は、Power Automateを使用して実現できます。具体的な手順は以下の通りです:
- Power Appsの
PDF()関数でPDFを生成 - 生成したPDFをブラウザで開く
- ブラウザの印刷機能で印刷
詳細な実装方法は後編で解説します。
次回予告
後編では、Power Automateを活用した実装方法を解説します。



