0
0

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 BI のグラフを画像で保存する方法(PDF から切り出して SNS 用に)

0
Last updated at Posted at 2026-10-27

この記事は、自分のブログ「BI探検ノート」の記事を、Qiita 向けに転載したものです。元記事: https://bi.nagashigoto.com/blog/powerbi-to-sns-image/?from=qiita

Power BI で作ったグラフを、SNS に投稿したい。スクリーンショットだと、画面の解像度や余白に左右されるので、私はページのサイズを決めて、PDF に書き出し、画像にする方法にしました。その手順をまとめます。

この方法は、SNS 用に、画像の大きさ・余白・文字の大きさを揃えたい人向けです。スクリーンショットで足りる場面なら、ここまでの手間は要りません。手軽な他の保存方法は、この記事では調べていないので、扱っていません。

確認日: 2026年10月18日(日本語版の Power BI Desktop)。PDF の書き出しそのものの再実行は未確認です(末尾に詳細)。

結論(30秒版)

  • ページのサイズを 1080×1350 ピクセルに決め、文字を大きくして、PDF に書き出します。
  • 書き出した PDF を画像にして、白い余白を切り取り、1080×1350 に揃えます(Python のスクリプトで)。

全体の流れ

まず、いつもどおりにグラフを作ります(下の画面は、ダミーデータの棒グラフの例です)。

Power BI Desktop で作った棒グラフ。City ごとの Value の合計を、Nagasaki、Sasebo、Isahaya、Omura、Shimabara の5本の棒で示している

その後の流れは、次の4つです。

  1. レポートのページを、投稿したい画像のサイズ(1080×1350 ピクセル)にする
  2. 文字を、スマホで読める大きさにする
  3. Power BI Desktop から PDF に書き出す
  4. PDF を画像にして、余白を切り取り、1080×1350 に揃える

出来上がりは、こんな画像です(長崎県の市町ごとの転入超過率)。

Power BI Desktop で作って PDF に書き出し、画像にした 1080×1350 の棒グラフ。出典と注意書きも画像の中に入れている

出典と注意書きも、画像の中に入れています。SNS では、画像だけが切り離されて広まることがあるからです。

手順1: ページのサイズを決める

右側にある「視覚化」ペインと「データ」ペインの位置は、次のとおりです。

Power BI Desktop の右側。「視覚化」ペインにグラフの種類と X 軸・Y 軸の欄、右に「データ」ペインがある

ページの何も選択していない状態で、右側の「視覚化」ペインから「ページの書式設定」(筆のアイコン)を開き、「キャンバスの設定」を広げます。「型」を「カスタム」にすると、「幅 (px)」「高さ (px)」を入力できます。

キャンバスの設定。「型」の選択肢は 16:9、4:3、レター、ツールヒント、カスタム。カスタムを選ぶと、幅と高さをピクセルで入力できる

ここに、幅 1080、高さ 1350 を入れました(4:5 の縦長です)。図の数字は、まだ何も変えていない既定値(1920×1080)です。

試したときに分かったことが、1つあります。高さに大きすぎる値を入れると、9999 に丸められました。 桁を入れ間違えたときは、欄の数字を確認してください。

公式の注意

以降の「公式」は、Microsoft Learn の PDF 書き出しのページ(Export Power BI reports to PDF、確認日: 2026年10月19日)を指します。このページに、次の注意があります。

Reports with unusual custom page sizes may experience issues in export scenarios. For best results, consider switching to a standard page size for your report.
(特殊なカスタムのページサイズでは、書き出しに問題が出ることがあります。標準のページサイズに切り替えることを検討してください。)

今回の 1080×1350 では、書き出した PDF の2ページとも、崩れずに出力されました。ただし、サイズによっては問題が出る可能性があるので、必ず出力を目で確認してください。

手順2: 文字を大きくする

投稿画像は、スマホの小さな画面で見られます。ビジュアルを選んで「ビジュアルの書式設定」を開くと、軸や凡例の「フォント」で、文字の大きさを変えられます(下の画面は X 軸の値で、既定は 10.5)。

ビジュアルの書式設定の X 軸。「値」の「フォント」に、Segoe UI と文字サイズ 10.5 の欄がある

私は、本文・軸・凡例を 21pt にしました。1080 ピクセル幅のページでは、21pt が約 28 ピクセルにあたります(1pt = 約 1.33 ピクセル)。

小さい文字は、画像を縮小して表示されたときに、まず読めなくなります。

手順3: PDF に書き出す

Power BI Desktop で、[ファイル] > [エクスポート] > [PDF にエクスポート] を選びます(Microsoft Learn の手順どおりです)。

[ファイル] > [エクスポート] の画面。「Power BI テンプレート」と「PDF にエクスポート」の2項目が並んでいる

公式に、次の説明があります。

  • レポートの1ページが、PDF の1ページになります。
  • 今表示されていないページ(ツールヒントのページや、非表示のページ)は、書き出されません。
  • 壁紙は書き出されません。暗い壁紙の上に白い文字を置いていると、書き出した PDF では読めなくなります。壁紙の設定は、「ページの書式設定」の「壁紙」にあります(下の画面)。
  • 書き出される PDF には、上下に白い余白の帯が入ります。
  • カスタムビジュアル(認定されていないもの)や ArcGIS などは、非対応です。

ページの書式設定の「壁紙」。カラー、イメージ、イメージのサイズ調整の欄がある

また、書き出し中は、レポートの操作ができなくなります。終わるまで待ちます。

公式には、「書き出したレポートページの解像度は 1,280 × 720 ピクセル」「忠実度は保証できない」という注記もあります。この注記が、Desktop からの書き出しにも当てはまるかは、確認していません。

私の PDF では、1ページが 846 × 1048 pt のベクターでした。いずれにしても、書き出した結果は、必ず目で確認してください。

手順4: PDF を画像にして、余白を切る

書き出した PDF を、そのまま画像にすると、余白が付いたままで、サイズも 1080×1350 になりません。私の場合、書き出した PDF の1ページは 846 × 1048 pt(縦横比 0.807)で、目標の 1080:1350(= 0.8)とずれていました。

そこで、Python と PyMuPDF で、画像にして、白い余白を切り取り、1080×1350 に縮小しました。

左: PDF に書き出した直後の画像。白い余白があり、赤枠が切り取る範囲。右: 切り取って 1080×1350 に縮小した画像

処理の中心は、次の部分です。

import pymupdf
from PIL import Image
import numpy as np

doc = pymupdf.open("export.pdf")
for i, page in enumerate(doc):
    pix = page.get_pixmap(dpi=288)  # 高めの解像度で画像にする
    im = Image.frombytes("RGB", (pix.width, pix.height), pix.samples)

    # 白に近くない部分(=ページの背景)の外接矩形を求める
    a = np.asarray(im).astype(int)
    nonwhite = np.abs(a - 255).sum(axis=2) > 12
    ys, xs = np.where(nonwhite)
    box = (xs.min(), ys.min(), xs.max() + 1, ys.max() + 1)

    # 切り取って、1080x1350 に縮小
    im.crop(box).resize((1080, 1350), Image.LANCZOS).save(f"page{i + 1}.png")

ページの背景を、真っ白ではなく薄い灰色にしておくのが、ポイントです。白い余白と背景の境目を、「白に近いかどうか」で判定できるからです。背景が真っ白だと、この方法では、余白と区別できません。

私の PDF で試すと、画像にしたときのサイズは 3384 × 4193 ピクセル(288 dpi)、切り取る範囲は 3236 × 4047 ピクセルで、縦横比は 0.7996 でした。1080:1350(= 0.8)にほぼ一致するので、縮小しても、縦横が歪みません。

画質について

PDF の中身を調べると、文字は選択できて、埋め込まれた画像はありませんでした(ベクターで描かれています)。そのため、PDF の段階では、拡大してもぼやけません。

一方、1080×1350 の画像に縮小した時点で、PDF より粗くなります。印刷などにも使うなら、PDF のほうを使ってください。

書き出す前の制限と、症状ごとの対処

公式の記載です(確認日: 2026年10月19日)。私の環境で再現して確かめたものではありません。「症状」は、公式の記載を私が言い換えたものです。公式に対処が書かれていない項目は、対処を載せていません。

手順3に書いたもの(非表示・ツールヒントのページ、壁紙、上下の白い帯、非対応のビジュアル)のほかに、SNS 用の画像づくりで引っかかりそうな制限が載っています。書き出す前に、当てはまるものがないか確認してください。

書き出せない・ページが足りない

  • 書き出せない: Power BI レポートは、50ページを超えるか、250 MB より大きいと書き出せません(ページ分割レポートには、50ページの制限はありません)。
  • 書き出しに問題が出る: 特殊なカスタムのページサイズが原因になりえます。標準のページサイズに切り替えます。
  • ページが足りない: Desktop の書き出しには、ツールヒントや非表示のページが含まれません。非表示ページは、Power BI サービスのレポートから書き出せます(含めるかどうかを選べる、とも書かれています)。サービスからの書き出しは、私は試していません。ツールヒントについては、対処の記載がありません。

見た目が変わる

  • フォントが変わる: カスタムフォントを使ったテーマは、既定のフォントに置き換わります。
  • 背景画像がゆがむことがある: 「ページの背景」が「標準」か「塗りつぶし」(英語版の Normal / Fill)だと起きます。「合わせる(Fit)」にするか、背景を外してから書き出します。Fit は英語版の名前で、日本語の画面での表示名は、実機では確認していません。
  • 白い文字が読めない: 壁紙は書き出されません。暗い壁紙に注意、とあります。
  • 表が先頭の行から出る: スクロールバーのあるビジュアルは、途中までスクロールしていても、最初の行から始まる既定の状態で出ます。
  • ドリルダウンしたビジュアル: 既定の状態で出ます。
  • ブックマーク: ブックマーク ナビゲーターの選択は反映されず、既定のものが選ばれた状態で出ます。

文字・ビジュアルが出ない

  • 文字が空白の四角になる: Unicode 6 以前に対応していて、たとえば Unicode 7 の文字は空白の四角で出ます。この記事のレポートでは起きていないので、どの文字が当てはまるかは確認していません。
  • ビジュアルの種類: R・Python のビジュアルは、REST API で書き出すと描画されません。ほかに、Visio のビジュアル、Copilot のナラティブ ビジュアル、「データ ポイントを表として表示」した状態のビジュアルも、非対応と書かれています。

手順3の「1,280 × 720 ピクセル・忠実度は保証されない」の注記とあわせて、書き出した PDF は、必ず目で確認してください。

よくある質問

Q. 書き出しに時間がかかる。
公式に、数分かかることがあり、レポートの構成や、Power BI サービスや Desktop の負荷が影響する、とあります。Desktop では、書き出し中はレポートの操作ができず、待つかキャンセルするかのどちらかです。

Q. Power BI サービスから書き出した PDF と、Desktop の PDF は同じ?
公式は、サービスから書き出した PDF と、Desktop(ローカルのファイル)から書き出した PDF が、いつも一致するとは保証できない、としています。私は両方を比べていないので、違いの有無は分かりません。

Q. 公式の「1,280 × 720 ピクセル」と、私の PDF のベクターは、どちらが本当?
どちらも、そのまま記します。公式の注記が Desktop の出力に当てはまるのかは、公式の記載からは判断できないので、断定しません。一方、私の PDF は、1ページが 846 × 1048 pt で、埋め込み画像がなく、文字を選択できるベクターでした。

注意したいこと

  • 地図のビジュアルは、環境によって描画されないことがあります。私は、地図を使わず、棒グラフで見せました。詳しくは、Power BI でマップが表示されないときに確認する設定と、直らないときに書きました。
  • SNS の推奨サイズは変わります。投稿する前に、各サービスの最新の案内を確認してください。
  • データの出典と、集計の注意書きは、画像の中に入れておくほうが安全です。
  • ツールと画面は変わります。設定の名前や位置は、バージョンによって変わることがあります。

この記事で確認できたこと・できていないこと

確認できたこと

  • ページの書式設定にある「キャンバスの設定」の画面と、選択肢(実際の画面)
  • 書き出した PDF の中身(2ページ、ベクター、縦横比、余白)と、切り取りの処理の結果(同じ処理を再実行して確認)
  • 記事に載せたコードを、実際の PDF で実行すると、記事の画像と、画素単位で同じ画像が出力されること
  • PDF 書き出しの仕様(Microsoft Learn の記載)

確認できていないこと

  • 今回、PDF の書き出しそのものは、記事のために再実行していません。使ったのは、以前に書き出した PDF です。
  • 他の PC や、他のバージョンの Power BI Desktop での動作
  • 英語版での設定名

参考


自分で試せる練習問題

この記事の内容は、ブログの練習問題(ダミーの CSV 付き・答え合わせ付き)で、自分で試せます。https://bi.nagashigoto.com/practice/?from=qiita
他の記事は、ブログ「BI探検ノート」にあります。https://bi.nagashigoto.com/blog/?from=qiita
困りごとの相談や、小さな作成の依頼は、こちらで受けつけています。https://bi.nagashigoto.com/consult/?from=qiita

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?