メインコンテンツへスキップ

Power Automate を使用した SharePoint リストからの PDF 生成: Handlebars テンプレートと HTML から PDF への請求書ワークフロー

· 1分で読める
SEO and Content Writer

PDF4me ドキュメント生成 シングル これは、Handlebars HTMLテンプレートとJSONペイロードをレンダリングして完成したHTMLドキュメントを作成するPower Automateアクションです。このドキュメントは、ペアになっている「HTMLをPDFに変換」アクションによってA4サイズにページ分割されます。SharePointリストに新しい行が追加されるとフローが開始され、ComposeがJSONを組み立て、Dropboxが請求書番号にちなんだ名前の請求書PDFを保存します。プレミアムコネクタもコードも不要です。

どの財務チームもPower Automateで同じ壁にぶつかる。 ファイル変換 このアクションにはプレミアムライセンスが必要で、HTMLテンプレートには手を加えません。Adobe PDF Servicesには費用がかかります。Encodianにも費用がかかります。matthewdevaneyの人気の回避策はHTMLを完全にスキップし、Power Appsにロックします。以下のパターンは、SERPの上位10位の誰もエンドツーエンドで表示していないものです。SharePointリストの列セットがJSONペイロードになり、実際の ハンドルバーテンプレート ファイルの場所 /Shared Documents/また、無料プランのコネクタ料金では、2つのPDF4meアクションがレンダリングとページネーションを実行します。

Handlebarsテンプレートのレンダリング:PDF4meと代替サービスの比較​

Power Automateのアーキテクトが請求書PDF用のコネクタを選ぶ前に必ず行う比較:

Approach vs PDF4meハンドルバーの型取り?HTMLからPDFへのページネーションツール?コネクタ層注記
PDF4me(このブログ)はい、ドキュメントを1つ生成しますはい、HTMLをPDFに変換します標準2つの単機能アクション、プレミアムライセンスは不要
Adobe PDFサービスいいえはいプレミアムユーザーごとの料金体系、テンプレートエンジンなし、HTMLのみ
エンコーダーネイティブテンプレート機能なしはいプレミアム人気はあるが、呼び出しごとに料金が発生する
matthewdevaney Power Apps ルートWordテンプレートのみ該当なし標準HTMLを完全にスキップし、Power Appsのフロントエンドに限定します。
ネイティブ Convert FileいいえWord/Excelのみ対応、HTMLは不可プレミアムHTML請求書を全くレンダリングできません
流れの概要
1. When an item is created
SharePoint trigger on the Invoices list. Fires per new row, hands every column to the flow as dynamic content.
2. Compose
Builds one JSON payload from the row: invoice, customer, items[], totals, notes. The exact shape the Handlebars template expects.
3. Get file content using path
SharePoint /Shared Documents/invoice_template.html. The Handlebars template lives beside the data, versioned in the same site.
4. PDF - Generate Document (Single)
PDF4me action. Template File Type Html (Handlebars Syntax), Document Data Type Json, Output Type Html.
5. Convert HTML to PDF
PDF4me action. A4, portrait, scale 0.8, 40px margins, print backgrounds Yes.
6. Create file
Dropbox /. File Name Title.pdf, so INV-1005 is saved as INV-1005.pdf.
要約版

SharePointの請求書リストが情報源です。その横にHandlebarsのHTMLテンプレートが1つ保存されています。新しい行が追加されるたびに、ComposeがJSONを作成し、PDF4meのGenerate Document (Single)がテンプレートにデータを入力、PDF4meのConvert HTML to PDFがページ分割を行い、Dropboxが完成した請求書をその行のタイトル名で保存します。6つのアクション、すべて標準レベルのコネクタ、そして行ごとに1つのブランド付きPDFが作成されます。

なぜ?という問いに対する質疑応答​

フロー内にHTMLをハードコーディングするのではなく、HandlebarsテンプレートをSharePointに保存する理由は何ですか? テンプレートは編集可能なファイルとなり、財務担当者やデザイン担当者はブラウザ上で更新できます。ロゴを変更したり、合計金額の行を微調整したり、VAT行を追加したりすれば、次の請求書にすぐに反映されます。ワークフローを再開する必要は一切ありません。

PDF4meのアクションが1つではなく2つ必要なのはなぜですか? 「ドキュメント生成(シングル)」はテンプレートエンジンであり、ページネーション機能ではありません。JSONをHTMLにマージしてHTMLを返します。「HTMLからPDFへの変換」はページネーション機能であり、生成されたHTMLを読み込み、A4ページサイズ、余白、背景印刷を適用してPDFデータを返します。役割を分離することで、各アクションの目的が明確になり、ページネーションを実行する前にレンダリングされたHTMLをプレビューできます。

なぜ途中で作曲するのか? Handlebarsテンプレートはネスト構造(請求書、顧客、アイテム配列、合計)になっています。SharePointでは12個のフラットな列が提供されます。Composeは「JSONを組み立てる」ステップであり、フラットな列をテンプレートが反復処理するネストされたペイロードに整形します。Composeでこの処理を行うことで、Generate Document (Single)は、構成全体に散らばった12個の動的コンテンツのピルではなく、1つのクリーンな入力として認識します。

出力先としてDropboxを使うのはなぜですか?SharePointに戻さないのはなぜですか? Dropboxはデモ用のストレージです。最終ステップには、SharePointのファイル作成、OneDriveのファイル作成、Google Driveのファイル作成、またはSFTPアップロードなど、どのファイルコネクタでも使用できます。「HTMLをPDFに変換」のボディは単純なバイナリデータであり、出力先は書き換えではなく、データの交換です。


得られるもの​

入力: SharePoint リスト Invoices (列:タイトル、請求書日付、支払期日、顧客名、顧客住所、顧客メールアドレス、通貨、小計、税率、税額、合計金額、メモ)と、単一のHandlebarsテンプレートが /Shared Documents/invoice_template.html。 出力: Dropbox に A4 PDF を 1 行ずつ保存し、名前を {Title}.pdf (INV-1005はINV-1005.pdfになります。)


必要なもの​

  • パワーオートマタ。 Power Automateを開く以下で使用されている SharePoint、Dropbox、および PDF4me コネクタはすべて標準プランであり、プレミアムプランは必要ありません。
  • PDF4me APIキー。 APIキーを取得してくださいPDF4meアクションを初めて追加する際に接続してください。
  • SharePointサイト リスト名 Invoices また、Handlebarsテンプレートが保存されるドキュメントライブラリ(名前は任意)が必要です。
  • Dropboxアカウント (または任意のファイル保存先:SharePoint、OneDrive、Google Drive、SFTPはすべて変更なしでスロットに表示されます。)
  • Handlebarsの請求書テンプレートアップロード準備完了 /Shared Documents/。 invoice_template.html. その中のすべてのHandlebarsパスは、以下のマッピングテーブルと一致します。
  • 署名済み請求書のサンプル(PDF)まさにINV-1005で生成されたフローと同じものです。 invoice-sample.pdf。

まずはサンプルを入手してください。 Handlebarsテンプレートをダウンロードしてアップロードしてください /Shared Documents/ フローを構築する前に、ステップ3で参照するファイルを指定しておく必要があります。サンプル出力PDFには、「成功」の状態が具体的に示されています。


フローの概要​

  1. アイテムが作成されると (SharePoint トリガー) Invoices リスト)。
  2. 作曲する ネストされたJSONペイロード(請求書/顧客/アイテム/合計/メモ)。
  3. パスを使用してファイルコンテンツを取得します のために /Shared Documents/invoice_template.html。
  4. PDF - ドキュメント生成(単一) テンプレート本文とJSON、出力タイプはHTML。
  5. HTMLをPDFに変換する A4縦向き、縮尺0.8、余白40px、背景印刷あり。
  6. ファイルを作成する Dropbox内 /、 ファイル名 {Title}.pdf。

フローの概要全体​

Power Automate フローの概要には、緑色の成功チェックマークと実行時間が付いた 6 つの連続アクションが表示されています。SharePoint アイテムが作成されたとき 0.4 秒、Compose 0 秒、SharePoint パスを使用してファイルコンテンツを取得 0.3 秒、PDF4me PDF - ドキュメントを生成 0.4 秒、PDF4me HTML を PDF に変換 11 秒、Dropbox ファイルを作成 1 秒

エンドツーエンドの実行。11秒かかるHTMLからPDFへの変換処理はページネーションによるもので、それ以外はすべて0.5秒未満です。


ステップ1:新しいSharePoint請求書でPower Automateフローをトリガーするにはどうすればよいですか?​

これまでの流れ: 流れはここから始まる。

SharePointトリガーを、請求書の行が格納されているサイトとリストに設定します。すると、各列が下流で動的なコンテンツになります。

  1. 追加 SharePoint > アイテムが作成されると 引き金として。
  2. 設定する:
    • サイトアドレス: SharePoint サイトを選択します (サンプルでは: PDF4me Sharepoints - https://ynoox1.sharepoint.com/sites/PDF4meSharepoints)
    • リスト名: Invoices。
  3. 保存して、トリガーにリストスキーマを検出させます。下のスクリーンショットの行(INV-1002、INV-1003、INV-1005)は、Handlebarsテンプレートが使用する正確な12列を示しています。

請求書一覧​

SharePointの請求書リストには、INV-1002 Globex Ltd、INV-1003 Initech Inc、INV-1005 Initech LLCという3つの例行が表示され、列にはTitle、InvoiceJson、InvoiceDate、DueDate、CustomerName、CustomerAddress、CustomerEmail、Currency、Subtotal、TaxRate、TaxAmount、GrandTotal、Notesが表示されています。

SharePointリストが信頼できる情報源です。ここにある各列は、Handlebarsペイロードの1つのフィールドに対応しています。

トリガー設定​

Power Automate SharePoint アイテムが作成されたときのトリガーは、サイト アドレス PDF4me SharePoints とリスト名 Invoices で構成され、SharePoint に接続済みステータスが表示されます。

トリガーとなるのはたった2つのフィールドだけです。それ以外の要素はすべて行から取得されます。

ヒント。 財務チームが既に請求書をExcelまたはDataverseに保存している場合は、そのままにしておいてください。トリガーを切り替えて Excel - 行が追加されたとき または データバース - 行が追加されたとき残りの流れは変わりません。


ステップ2:SharePointの行からHandlebarsのJSONペイロードを構築するにはどうすればよいですか?​

これまでの流れ: SharePointトリガー。

Compose は 12 個のフラットな SharePoint 列を、Handlebars テンプレートが反復処理するネストされた JSON に整形します。テンプレートは、 invoice、 customer、 items 配列、 totals、そして notes 弦。

  1. 追加 作曲する。
  2. で 入力以下の JSON を貼り付け、対応する SharePoint の動的コンテンツ ピルを各値の引用符の間にドロップして、数値と日付が文字列として表示されるようにします。
{
"invoice": {
"number": "Title",
"date": "InvoiceDate",
"dueDate": "DueDate"
},
"customer": {
"name": "CustomerName",
"address": "CustomerAddress",
"email": "CustomerEmail"
},
"items": [
{ "description": "Item1Description", "quantity": "Item1Qty", "unitPrice": "Item1UnitPrice", "lineTotal": "Item1Amount", "currency": "Currency" },
{ "description": "Item2Description", "quantity": "Item2Qty", "unitPrice": "Item2UnitPrice", "lineTotal": "Item2Amount", "currency": "Currency" },
{ "description": "Item3Description", "quantity": "Item3Qty", "unitPrice": "Item3UnitPrice", "lineTotal": "Item3Amount", "currency": "Currency" },
{ "description": "Item4Description", "quantity": "Item4Qty", "unitPrice": "Item4UnitPrice", "lineTotal": "Item4Amount", "currency": "Currency" },
{ "description": "Item5Description", "quantity": "Item5Qty", "unitPrice": "Item5UnitPrice", "lineTotal": "Item5Amount", "currency": "Currency" }
],
"totals": {
"currency": "Currency",
"subTotal": "Subtotal",
"taxRate": "TaxRate",
"taxAmount": "TaxAmount",
"grandTotal": "GrandTotal"
},
"notes": "Notes"
}

構成設定​

Power Automate Composeアクションのコードビューには、請求書(番号、日付、支払期日)、顧客(名前、住所、メールアドレス)、5つの明細項目(説明、数量、単価、明細合計、通貨)のアイテム配列、合計(通貨、小計、税率、税額、総計)、およびメモを含むネストされたJSONペイロードが表示され、すべての値はSharePointトリガーの動的コンテンツピルにバインドされています。

コードビューで作成します。各JSON値は2つの引用符で囲まれたSharePointのピルなので、数値と日付はHandlebarsテンプレートでレンダリングできる文字列として渡されます。

ヒント。 アイテム配列のサイズを、SharePoint に追加した列数 (この例では 5 つ) に一致する固定サイズに保ちます。行にアイテムが 3 つしかない場合は、SharePoint の Item4/Item5 を空白のままにして、 {{#if description}} Handlebarsテンプレートの行を囲むようにガードを設定し、空の行がスキップされるようにします。

参考資料:SharePoint列からHandlebarsへのパス​

SharePointの列と、それがテンプレート内のどこに配置されるかの正確なマッピングを示します。スキーマを拡張する際は、この表をブックマークしておいてください。

SharePoint 列ハンドルバーパスタイプテンプレートで使用
Titleinvoice.number文章請求書番号の見出しとDropboxファイル名
InvoiceDateinvoice.date日付請求書ヘッダー
DueDateinvoice.dueDate日付請求書ヘッダー
CustomerNamecustomer.name文章請求書ブロック
CustomerAddresscustomer.address文章請求書ブロック
CustomerEmailcustomer.email文章請求書ブロック
Item{N}Descriptionitems[N-1].description文章明細行
Item{N}Qtyitems[N-1].quantity番号明細行
Item{N}UnitPriceitems[N-1].unitPrice番号明細行
Item{N}Amountitems[N-1].lineTotal番号明細行
Currencytotals.currency そしてそれぞれ items[].currency文章通貨記号
Subtotaltotals.subTotal番号合計ブロック
TaxRatetotals.taxRate番号合計ブロック
TaxAmounttotals.taxAmount番号合計ブロック
GrandTotaltotals.grandTotal番号合計ブロック
Notesnotes文章フッター

ステップ3:SharePointからHandlebarsテンプレートファイルを読み込むにはどうすればよいですか?​

これまでの流れ: SharePointトリガーとComposeの組み合わせ。

テンプレートをプレーンテキストとして保存します .html サイトのドキュメントライブラリにあるファイル。パスを使用してファイルコンテンツを取得するアクションは、その生のバイト列を読み取るため、ドキュメント生成(単一)アクションはそれをテンプレート本文として使用できます。

テンプレート自体​

テンプレートは通常のHTMLにインラインCSSを加えたもので、データが格納される場所にHandlebars式が記述されています。実際の処理は2つの構成要素によって行われます。 {{#each items}} 行項目ごとに表の行が繰り返され、 {{#if description}} 内部のガードは、使用されていないItem4列とItem5列によって残された空白をスキップします。

<tbody>
{{#each items}}
{{#if description}}
<tr>
<td>{{description}}</td>
<td class="num">{{quantity}}</td>
<td class="num">{{currency}}{{unitPrice}}</td>
<td class="num">{{currency}}{{lineTotal}}</td>
</tr>
{{/if}}
{{/each}}
</tbody>

それ以外のものはすべて直接的な代替品です。 {{invoice.number}} ヘッダーでは、 {{customer.*}} 請求先ブロック、 {{totals.*}} 合計表では、 {{notes}} フッターに。

テンプレートをダウンロードしてください。 アップロード先 /Shared Documents/ として invoice_template.html次に、上部にある販売者名、住所、VAT番号を編集します。これらは意図的に固定されているため、初回実行前に変更する必要があるのはこの部分だけです。

  1. 追加 SharePoint > パスを使用してファイルコンテンツを取得します。
  2. 設定する:
    • サイトアドレス: トリガーと同じサイト。
    • ファイルパス: /Shared Documents/invoice_template.html。
    • コンテンツタイプを推測する: Yes (デフォルト設定のままにしてください。)

パスを使用してファイルコンテンツを取得します​

Power Automate SharePoint のパスを使用してファイルコンテンツを取得するアクション(サイトアドレス PDF4me SharePoint、ファイルパス /Shared Documents/invoice_template.html、コンテンツタイプの推測 はい)

テンプレートは /Shared Documents/ 絶対パスで取得されます。SharePointファイルなので、バージョン履歴は自動的に取得されます。

ヒント。 テンプレートが OneDrive または Dropbox に保存されている場合は、この操作をストレージの同等の操作である「ファイル コンテンツの取得」に置き換えてください。 Body それらのいずれかの出力が、次のステップでテンプレートファイルデータに渡される。


ステップ4:PDF - ドキュメント生成(単一)は、Handlebarsテンプレートにどのように入力されますか?​

これまでの流れ: SharePointトリガー、Compose、およびパスを使用したファイルコンテンツの取得機能。

ドキュメント生成(シングル)はテンプレートエンジンです。Handlebars ソースを読み込みます({{invoice.number}}、 {{#each items}}...{{/each}}JSONペイロードから値を代入し、レンダリングされたHTMLを返します。ページネーションは行いません。それは次のステップの役割です。

  1. 追加 PDF4me PDF > PDF - ドキュメント生成(単一)。
  2. 設定する:
    • テンプレートファイルの種類: Html (Handlebars Syntax)。
    • テンプレートファイル名: invoice_template.html。
    • テンプレートファイルデータ: 動的なコンテンツ、 Body SharePointの「ファイルコンテンツの取得」ステップから。
    • 文書データタイプ: Json。
    • 文書データテキスト: 動的なコンテンツ、 Body 構成ステップから。
    • 出力タイプ: Html。
    • PDFテンプレートを編集可能にする: No。

ドキュメント生成(単一)設定​

PDF4me PDF - ドキュメント生成(単一)アクション、テンプレートファイルタイプ Html(Handlebars構文)、テンプレートファイル名 invoice_template.html、SharePoint 本文からマッピングされたテンプレートファイルデータ、ドキュメントデータタイプ Json、Compose 本文からマッピングされたドキュメントデータテキスト、出力タイプ Html、PDF テンプレートの編集可能状態を保持しない、および PDF4me PDF に接続済みステータス

出力タイプは Html、 ない Pdf. ドキュメント生成 (単一) は、レンダリングされた HTML を次のステップに渡すため、ページネーションは独立したテスト可能な問題として残ります。

ヒント。 ドキュメント生成(シングル)は、Word および PDF テンプレートもサポートしています。デザインチームがあなたに .docx 請求書のモックアップ、テンプレートファイルタイプを Word 出力タイプを次のように変更します Pdf 変換ステップを完全にスキップするには、CSSの制御とブラウザプレビューの反復処理が必要な場合にHandlebarsを使用する方法が最適です。


ステップ5:レンダリングされたHTMLをA4サイズのPDFにページ分割するにはどうすればよいですか?​

これまでの流れ: SharePointトリガー、Compose、パスを使用したファイルコンテンツの取得、PDF - ドキュメントの生成(単一)。

HTMLをPDFに変換する機能は、ページネーションエンジンです。Generate Document (Single)によって生成されたHTMLを読み込み、ページサイズと余白を適用して、PDFバイトを返します。

  1. 追加 PDF4me PDF > HTMLをPDFに変換する。
  2. 設定する:
    • ファイルの内容: 動的なコンテンツ、 Body 「ドキュメント生成(単一)」ステップから。
    • HTMLファイル名: invoice.html。
    • ページレイアウト: Portrait。
    • ページサイズ: A4。
    • 規模: 0.8 (5項目の請求書が1ページに収まります。)
    • 上/下/左/右の余白: 40px それぞれ。
    • プリント背景: Yes (合計ブロックの背景色を表示します。)

HTMLをPDFに変換する設定​

PDF4meのHTMLからPDFへの変換アクションで、ファイルコンテンツは「ドキュメント本文の生成」からマッピングされ、HTMLファイル名はinvoice.html、ページレイアウトは縦向き、ページサイズはA4、スケールは0.8、上下左右の余白はすべて40px、背景印刷は「はい」となっています。

スケール0.8では、5行の請求書がA4用紙1枚に収まります。項目数が少なく、フォントサイズを大きくしたい場合は、0.9または1.0に上げてください。

ヒント。 Print Background: Yes 最終的に色付きになる設定は <td> セルとCSSグラデーションが表示されます。ブラウザはデフォルトで印刷時に背景色を削除します。PDFで合計行が白く表示される場合は、これが原因です。


ステップ6:請求書のPDFファイルを、分かりやすい名前でDropboxに保存するにはどうすればよいですか?​

これまでの流れ: SharePoint トリガー、作成、パスを使用したファイルコンテンツの取得、PDF - ドキュメントの生成 (単一)、HTML から PDF への変換。

最終ステップでは、PDFファイルを請求書番号に関連付けられた名前のDropboxフォルダに保存します。

  1. 追加 Dropbox > ファイルを作成する。
  2. 設定する:
    • フォルダパス: / (または次のようなサブフォルダ) /invoices/)
    • ファイル名: 動的なコンテンツ、 Title SharePointトリガーから、リテラル文字列が続きます .pdf. INV-1005 は INV-1005.pdf。
    • ファイルの内容: 動的なコンテンツ、 Body 「HTMLをPDFに変換する」ステップから。

ファイル構成を作成する​

Power Automate Dropbox ファイル作成アクション。フォルダーパスは /、ファイル名は SharePoint タイトル トリガー フィールドから作成され、その後に .pdf が付加されます。ファイルコンテンツは「HTML を PDF の本文に変換」からマッピングされ、「Dropbox に接続済み」ステータスが表示されます。

請求書番号をファイル名に付けることで、Dropboxフォルダは自動的に検索可能で重複のない請求書アーカイブになります。

ヒント。 2 つの行が同じタイトルを共有する可能性がある場合は、 _ そしてタイムスタンプ: concat(triggerBody()?['Title'], '_', ticks(utcNow()), '.pdf')そうでない場合、Dropbox は以前のファイルを同じ名前で自動的に上書きします。


フローを実行して検証する​

  1. 保存 右上の流れ。
  2. 新しい行を追加する Invoices SharePoint リスト。タイトルを認識できるものに設定します (INV-1005)すべての列にデータを入力して、テンプレートに実際のデータが含まれるようにします。
  3. 流れを開く 実行履歴 そして、最新の実行結果を選択してください。フローの概要画面のスクリーンショットと同様に、すべてのカードが緑色になっているはずです。「HTMLをPDFに変換」カードが最も遅い(約11秒)のは、そこでページネーションが行われるためです。
  4. Dropboxを開いて確認してください INV-1005.pdf (またはタイトル)はルートディレクトリにあります。ダウンロードして開き、サンプルと比較してください。

実際に何を作ったのですか? SharePointネイティブの請求書ジェネレーター。編集可能なHTMLテンプレートを備え、標準レベルのコネクタアクション6つで完結します。同じパターン(行+テンプレート+レンダリング+ページ分割+保存)は、見積書、納品書、発注書、保証書、または行ごとにブランドが付けられたPDFなど、あらゆる文書に使用できます。SharePointをDataverseまたはExcelに、DropboxをOneDriveに置き換えても、PDF4meのアクションはそのまま使用できます。


再構築せずに追加できる一般的なバリエーション​

請求書を顧客にメールで送信する
挿入 Outlookでメールを送信する(バージョン2) ファイルを作成した後、HTML を PDF に変換するファイルを添付します。 Body そしてそれをSharePointに宛てて送信する CustomerEmail カラム。
1ページ目に署名を押印してください
追加する PDF - 署名 HTMLをPDFに変換した後の処理。承認済みの請求書の場合、Dropboxから取得したPNG形式の署名を1ページ目の右下に重ねて表示する。
SharePointにコピーをプッシュバックする
2つ目を追加する SharePoint ファイルの作成 Dropbox の後、PDF をドロップします Shared Documents/Signed Invoices/ そのため、ソースリストの横に保存されます。
ConvertとAdobe/Encodianの比較
Adobe PDF ServicesとEncodianはどちらもHTMLからPDFへのコネクタを提供していますが、ユーザーごとにプレミアムライセンスが必要です。PDF4meは標準コネクタティアで動作し、テンプレート作成のためにGenerate Document (Single)を組み合わせていますが、Adobeのフローにはこの機能は含まれていません。

よくある質問​

Power Automateを使用してSharePointリストアイテムからPDFを作成する方法は?​

SharePoint を使用する When an item is created トリガーとして、 Compose 行のフラットな列をネストされた JSON ペイロードに整形するアクション、 Get file content using path HTMLテンプレートを読み込むためのアクション /Shared Documents/PDF4me Generate Document (Single) JSONをテンプレートにマージし、PDF4me Convert HTML to PDF 結果をページ分割します。出力は任意のファイルコネクタ(Dropbox、OneDrive、SharePoint)に保存します。この一連のアクションはすべて標準コネクタティアで実行されるため、Power Automate Premium ライセンスは不要です。

Power AutomateでPDFを生成できますか?​

はい。ネイティブの Power Automate は HTML テンプレートから PDF を単独でレンダリングすることはできませんが、 PDF4me コネクタは、それを可能にする2つのアクションを追加します。 Generate Document (Single) テンプレートのレンダリングと Convert HTML to PDF ページネーション機能を提供します。どちらも標準プランで、無料でインストールできます。これらを組み合わせることで、SharePoint、Dataverse、Excelの任意の行を、データと同じ場所に保存されている編集可能なHTMLテンプレートを使用して、ブランド化されたPDFに変換できます。

Power AutomateでHTMLからPDFを作成する方法は?​

追加する PDF4me HTMLをPDFに変換する フローのスコープ内に HTML がある場所ならどこでもアクションを実行します (Compose 出力、Get file content Body、Compose 式、webhook ペイロード)。ページ サイズを設定します (A4)、レイアウト (Portrait) 余白 (40px)、そして設定する Print Background: Yes そのため、CSS の背景は保持されます。アクションの Body 出力とは、ストレージアクションに渡すPDFバイナリのことです。これは、上記のステップ5で使用したアクションと同じです。

Power Automateはプレミアム版なしでHTMLをPDFに変換できますか?​

はい。PDF4meコネクタの「HTMLをPDFに変換」アクションは標準コネクタティアに属しているため、ネイティブのプレミアムライセンスアップグレードなしで、どのPower Automateプランにもインストールして使用できます。 Convert File Adobe PDF Servicesコネクタには、PDF4me APIキーが必要です(無料プランあり)。このキーは、アクションを初めて追加する際に貼り付けます。

Power AutomateでテンプレートからPDFを生成する方法は?​

使用 PDF4me ドキュメント生成(単一) と Template File Type: Html (Handlebars Syntax) (HTMLテンプレートの場合)または Word (のために .docx テンプレート)。テンプレートバイトを Template File Data そしてJSONペイロードを Document Data Text。 セット Output Type: Html 後でページネーションする必要がある場合(このブログのように)、または Pdf PDF を 1 ステップで取得します。このアクションは、以下の完全な Handlebars 構文をサポートしています。 {{#each}} そして {{#if}} 明細項目と条件付きブロックの場合。


トラブルシューティング​

ハンドルバーのレンダリング {{invoice.number}} PDFに文字通り記載されています

テンプレートのプレースホルダーが置換されなかったということは、ドキュメントデータテキストが空であるか、JSON形式が正しくないことを意味します。実行履歴で「Compose」ステップの出力を開き、Handlebarsが探している正確なキーパス(大文字小文字を区別)を持つ有効なJSONオブジェクトであることを確認してください。

PDFでは合計行が白で表示されますが、ブラウザのプレビューでは色付きで表示されます。

セット Print Background: Yes HTML を PDF に変換する際、Chromium の印刷エンジンは背景色を削除します。 <td> そして <div> デフォルトでは無効になっています。このスイッチをオンにすると、これらの機能が再び有効になります。

請求書は2ページにわたっており、2ページ目には1行だけ記載されています。

下げる Scale HTML から PDF への変換を 0.8 から 0.7 に変更します。または、 page-break-inside: avoid で <table> テンプレート内で、ページネーションは行間ではなく行内で行われるようにする。

Dropboxのファイル作成機能が、以前の請求書を暗黙のうちに上書きする

2列が同じものを共有 Titleファイル名の式を次のように変更します。 concat(triggerBody()?['Title'], '_', ticks(utcNow()), '.pdf') そのため、実行ごとに固有のファイル名が生成されます。


次のステップ​

同じ6つのステップ(行、テンプレート、レンダリング、ページネーション、名前、ストア)のパターンで、HTMLで記述できる行ごとのブランド付きPDFを処理できます。