Main Content

print

Figure の印刷または特定のファイル形式での保存

説明

print(filename,formattype) は指定したファイル形式を使用して、ファイルに現在の Figure を保存します (例: print('BarPlot','-dpng'))。ファイル名に拡張子がない場合、print が適切な拡張子を追加します。

print(filename,formattype,formatoptions) は、一部の形式で利用可能な追加のオプションを指定します。

print は、現在の Figure を既定のプリンターに印刷します。

print(printer) は、プリンターを指定します。プリンターは、プリンター名の前に -P を付けた文字ベクトルまたは string として指定します。たとえば、'-Pmy printer' です。プリンターはシステム上で設定されていなければなりません。

print(driver) はドライバーを指定します。出力をモノクロとカラーのどちらで印刷するかを確実に指定するにはこのオプションを使用します。

print(printer,driver) は、プリンターとドライバーを指定します。

print('-clipboard',clipboardformat) は、clipboardformat に指定された形式で現在の Figure をクリップボードにコピーします。コピーした Figure は他のアプリケーションに貼り付けることができます。

print(resize,___) はページに合わせて Figure のサイズを最大化します。Figure の縦横比を保持するには resize'-bestfit' に指定し、縦横比を無視するには '-fillpage' に指定します。これらのオプションは、ページ形式 (PDF および PS) での保存時またはプリンターでの印刷時にのみ有効です。このオプションは、前述の構文のすべての入力引数と共に使用できます。

print(resolution,___) では、指定した解像度が使用されます。解像度は整数値の前に -r を付けた文字ベクトルまたは string として指定します。たとえば、'-r200' です。このオプションは、前述の構文のすべての入力引数と共に使用できます。

print(renderer,___) では、指定したレンダラーが使用されます。レンダラーには '-vector' または '-image' を指定します。

print(fig,___) は、fig で指定された Figure または Simulink® ブロック線図を保存または印刷します。

cdata = print('-RGBImage'); は、現在の Figure の RGB イメージ データを返します。このオプションは画面キャプチャとは異なり、すべての印刷機能が出力に適用されます。この構文で resolutionrenderer、および fig の各オプションも指定できます。ただし、Simulink ブロック線図は指定できません。

すべて折りたたむ

棒グラフを作成してシステムの既定のプリンターに印刷します。印刷する Figure を指定しない場合、print は現在の Figure を印刷します。

bar(1:10)
print

プロットを作成してシステムのクリップボードにコピーします。

plot(1:10)
print('-clipboard','-dmeta')

コピーしたプロットは他のアプリケーションに貼り付けることができます。

プロットを作成して PNG イメージ ファイルとして保存します。

bar(1:10)
print('BarPlot','-dpng')

print がプロットを BarPlot.png として保存します。

プロットを作成して Encapsulated PostScript® ファイルとして保存します。

bar(1:10)
print('BarPlot','-depsc')

print がプロットを BarPlot.eps として保存します。

現在の Figure を Encapsulated PostScript ファイルとして保存し、TIFF プレビューを追加します。

surf(peaks)
print('SurfacePlot','-depsc','-tiff')

オブジェクト変数を print に渡して、特定の Figure を保存します。

fig = figure;
plot(1:10)
print(fig,'MySavedPlot','-dpng')

あるいは、Number プロパティの値を使用して Figure を参照する方法もあります。これは Figure ウィンドウのタイトル バーに表示される整数値です。たとえば、タイトル バーに Figure 2 と表示されている Figure を保存します。整数値の前に -f を付けます。

figure(2);
plot(1:10)
print('-f2','MySavedPlot','-dpng')

表面プロットを PNG ファイルに保存します。画面の表示サイズで保存するには、Figure の PaperPositionMode プロパティを 'auto' に設定します。画面の解像度で保存するには、'-r0' を使用します。

surf(peaks)
set(gcf,'PaperPositionMode','auto')
print('PeaksSurface','-dpng','-r0')

'-fillpage' オプションを使用して、ページに合わせて Figure を保存します。

bar([1 10 7 8 2 2 9 3 6])
print('FillPageFigure','-dpdf','-fillpage')

Figure の RGB イメージ データを返します。

surf(peaks)
cdata = print('-RGBImage');

イメージ データをフル解像度で表示するには、imshow を使用します。

imshow(cdata)

表面プロットを作成します。Figure の RGB イメージ データを返し、イメージの解像度を指定します。次に、イメージ データをムービー フレーム F に変換します。

surf(peaks)
cdata = print('-RGBImage','-r120');
F = im2frame(cdata);

入力引数

すべて折りたたむ

ファイル名。目的のファイル名とパスを含む文字ベクトルまたは string として指定します。

例: 'My Saved Chart'

例: 'Folder\My Saved Chart'

例: "My Saved Chart"

パスを含むファイル名の最大長は、オペレーティング システムおよびファイル形式によって異なります。通常の場合、ファイル名は 126 文字以内にしますが、パスを含める場合は 128 文字以内で指定します。

データ型: char | string

ファイル形式。以下の表にあるオプションのいずれかを指定します。

イメージ ファイル

イメージ ファイルには Figure のピクセル ベースの表現が含まれています。生成されるファイルのサイズは、使用する Figure と形式およびシステムの解像度によって異なります。イメージは、グラフィックスを表示する Web ブラウザーや他のアプリケーションで広く使用されています。ただし、透明度をサポートしていないか、あるいはスケーリングには適していません。また、他のグラフィックス アプリケーションでラインやテキストなど個々のグラフィックス オブジェクトを変更することはできません。

次の表は、サポートされるイメージ形式を示しています。

オプションイメージ形式対応するファイル拡張子
'-djpeg'JPEG 24 ビット.jpg
'-dpng'PNG 24 ビット.png
'-dtiff'TIFF 24 ビット (圧縮).tif
'-dtiffn'TIFF 24 ビット (圧縮なし).tif
'-dmeta'拡張メタファイル (Windows のみ).emf

ベクトル グラフィックス ファイル

ベクトル グラフィックス ファイルには、Figure を再描画するコマンドが保存されています。このタイプの形式はスケーリングに適していますが、大きなファイルが作成されることがあります。場合によっては、ベクトル グラフィックスには漂遊線などのビジュアル アーティファクトが含まれることがあります。一部のアプリケーションではベクトル グラフィックス形式の高度な編集がサポートされています。ただし、アプリケーションによっては、グラフィックスのサイズ変更以外の編集作業はサポートされていません。一般に、Figure が MATLAB® 内にある間に必要なすべての設定を行うことを推奨します。

Figure の Renderer プロパティを設定した場合、print はそのレンダラーを使用して出力を生成します。それ以外の場合、print が適切なレンダラーを選択します。通常、print は、サイズ変更時のスケーリングに適したベクトル グラフィックス ファイルを生成します。一部の複雑な Figure の場合、代わりに埋め込みイメージがファイルに含まれることがあります。これらのイメージはスケーリングに適さず、他のアプリケーションで編集可能な範囲が制限される可能性があります。print がベクトル グラフィックス レンダラーを使用するよう指定するには、関数 print の入力引数として '-vector' を指定します。

透明度のある出力が必要な場合は、メタファイル、PDF または SVG のいずれかの形式を使用してベクトル グラフィックス ファイルを作成します。EPS 形式を使用する場合、透明度は、Figure と座標軸の背景でのみサポートされます。イメージ ファイルでは透明度がサポートされませんが、画面上で透明度を適用した場合の見た目とほぼ同じになります。

メモ

既定の Figure レンダラーは OpenGL® です。Figure レンダラーが出力の生成に使用されるレンダラーと異なる場合、保存した Figure の細部が画面に表示される Figure とは異なる場合があります。必要に応じて、表示される Figure と保存される Figure に同じレンダラーを使用することもできます。Figure の Renderer プロパティを設定するか、関数 print に入力引数 renderer を指定してください。

次の表に、サポートされるベクトル グラフィックス形式を一覧します。

オプションベクトル グラフィックス形式対応するファイル拡張子
'-dpdf'フル ページ Portable Document Format (PDF) カラー.pdf
'-deps'Encapsulated PostScript (EPS) レベル 3 モノクロ.eps
'-depsc'Encapsulated PostScript (EPS) レベル 3 カラー.eps
'-deps2'Encapsulated PostScript (EPS) レベル 2 モノクロ.eps
'-depsc2'Encapsulated PostScript (EPS) レベル 2 カラー.eps
'-dmeta'拡張メタファイル (Windows® のみ).emf
'-dsvg'SVG (Scalable Vector Graphics).svg

Simulink のブロック線図を EPS ファイルとして保存することはできません。

メモ

PDF 形式のみが、PaperPosition プロパティの最初の 2 要素を使用します。その他の形式ではこれらの値が無視されます。

一部のファイル形式でサポートされるその他の書式設定オプション。以下の 1 つ以上の値として指定します。

  • '-tiff' — TIFF プレビューを含めます。EPS ファイルのみ。

  • '-loose' — loose 境界ボックスを使用します。EPS および PS ファイルのみ。

  • '-cmyk' — RGB カラーの代わりに CMYK カラーを使用します。EPS および PS ファイルのみ。

  • '-append' — Figure を既存の PS ファイルに追加します。PS ファイルのみ。

例: print('my file','-deps','-tiff','-loose') は、現在の Figure を loose 境界ボックスを使用して TIFF プレビューを含むファイル my file.eps に保存します。

プリンター名。-P とプリンター名を含む文字ベクトルまたは string として指定します。

例: '-Pmy local printer'

例: "-Pmy local printer"

利用可能なプリンターの一覧を表示するには、次のコマンドを使用します。

[~,printers] = findprinters

プリンターを指定しない場合、print はシステム既定のプリンターを使用します。新しいプリンターをセットアップしたり、既定のプリンターを変更するには、オペレーティング システムのプリンター管理ユーティリティを使用してください。設定済みのプリンターが表示されない場合、MATLAB を再起動してください。

データ型: char | string

プリンター ドライバー。'-dwin''-dwinc''-dprn' または '-dprnc' のいずれかとして指定します。ドライバーを指定しない場合、print はオペレーティング システムの既定のドライバーを使用します。

使用するオプションは、次の表に示すようにシステムによって異なります。

システムドライバー出力
Windows'-dwin'モノクロ
'-dwinc'
Linux® または Mac'-dprn' モノクロ
'-dprnc'

クリップボードにコピーされる形式。以下のいずれかのオプションとして指定します。

  • '-dmeta' — 拡張メタファイル (Windows のみ)

  • '-dbitmap' — イメージ ファイル (Windows および macOS)

  • '-dpdf' — PDF ファイル (Windows および macOS)

ページに合わせて Figure を拡大するオプション。次の値のいずれかとして指定します。

  • '-fillpage' — ページに合わせて Figure のサイズを最大にします。ページのすべての縁に 0.25 インチの余白を残します。Figure の目盛り、レイアウトおよび縦横比が変わる場合があります。

  • '-bestfit' — ページに合わせて Figure のサイズを最大にしますが、Figure の縦横比を保持します。Figure でページ全体が埋まらない場合があります。このオプションは最小 0.25 インチのページ余白を残します。

いずれのオプションも、Figure をプリンターで印刷するとき、あるいは PDF や PS などのページ形式で保存するときにのみ有効です。これらのオプションは、Simulink ブロック線図では無効です。

解像度。-r と、インチあたりのドット数で解像度を示す整数値を含む文字ベクトルまたは string として指定します。たとえば、'-r300' はインチあたり 300 ドットの出力解像度を設定します。画面解像度を指定するには '-r0' を使用します。

一般的に、解像度が高いほど出力の品質は高くなりますが、同時に出力ファイルのサイズも大きくなり、メモリの使用量が増えます。設定する解像度が高くなるほど、Figure をレンダリングする時間が長くなります。

解像度の指定は、イメージを作成したり、ベクトル グラフィックス ファイル形式で OpenGL レンダラーを使用する場合に役立ちます (OpenGL はベクトル形式を使用した場合でもイメージを作成するため)。ベクトル グラフィックス ファイル形式で Painters レンダラーを使用する場合、解像度を指定しても効果がありません。これは、Painters が、Figure を再描画するコマンドを含む本物のベクトル グラフィックス ファイルを作成するためです。

メモ

Simulink の印刷では解像度オプションはサポートされません。Simulink モデルの出力品質を高めるために、SVG や PDF などのベクトル形式を使用します。

データ型: char | string

グラフィックス レンダラー。'-image' または '-vector' を指定します。

  • '-image' — OpenGL レンダラー。このレンダラーは、イメージを保存する場合に使用します。OpenGL は、ベクトル形式でもイメージを作成するため、他のアプリケーションで編集可能なイメージの範囲が制限される可能性があります。

  • '-vector' — ベクトル グラフィックス出力を作成します。このレンダラーは、ベクトル グラフィックス ファイルを保存する場合に使用します。ベクトル グラフィックス ファイルへの保存に際し Figure の RendererMode プロパティが 'auto' に設定されている場合、print は自動的にベクトル グラフィックスを作成しようとします。出力形式を厳密なベクトル グラフィックス ファイルにするには、'-vector' オプションを指定します。以下に例を示します。

    print('-vector','-deps','myVectorFile')

メモ

'-vector' オプションを指定してファイルを保存する場合、次のいずれかの問題が発生する可能性があります。

  • レンダリング時間の増加

  • 3-D 表示でのグラフィックス オブジェクトの誤配置

  • 漂遊線

  • 太さが 1 ピクセル未満のラインの非表示

レンダラーを指定しない場合、print は自動的に適切なレンダラーを使用して、指定された形式で出力を生成します。ただし、Figure の Renderer プロパティを設定した場合、print はそのレンダラーを使用して出力を生成します。

figure オブジェクトまたは Simulink ブロック線図。Figure を参照するには、そのオブジェクト変数名を使用するか、Figure の番号の前に -f を付けて指定します。たとえば、-f2Number プロパティの値が 2 である Figure を参照します。Simulink ブロック線図を指定する場合、モデル名の前に -s を付けて指定します。現在のモデルを指定するには '-s' を使用します。

Simulink のブロック線図を EPS ファイルとして保存することはできません。

出力引数

すべて折りたたむ

n×m×3 配列として返されるイメージ データ。イメージ データ配列のサイズは Figure の PaperPosition プロパティおよび出力解像度によって異なります。

メモ

R2015b から、高解像度のシステムで '-r0' オプションを指定して print を使用する場合、cdata 出力配列のサイズが以前のリリースやその他のシステムでのサイズより大きくなります。また、cdata の要素数が、Figure の PaperPosition プロパティおよびルートの ScreenPixelsPerInch プロパティに基づくピクセル単位の Figure のサイズに一致しないことがあります。詳細については、MATLAB での DPI 対応の動作を参照してください。

制限

  • Linux で MATLAB を nodisplay モードで開始したり、-noFigureWindows 起動オプションを任意のプラットフォームで使用した場合、print の動作は次のように制限されます。

    • 可視の uicontrol をもつ Figure を印刷または保存しようとするとエラーが発生します。

    • '-image' オプションを指定した場合でも、常に Painters レンダラーを使用します。

  • MATLAB Online™ での print は PDF への出力のみを行います。その他のファイル形式オプションの場合は、filename を指定して Figure をファイルに保存します。

  • MATLAB が nodisplay モードの場合、ファイルへの出力も含め、すべての Simulink 出力機能がオフになります。

詳細

すべて折りたたむ

現在の Figure

現在の Figure は通常、最後に作成した、または最後にマウスでクリックした Figure です。現在の Figure はユーザーの操作によって変更できます。

特定の Figure を印刷するには、その Figure を最初の入力引数として指定します。Figure を指定しない場合、関数 printgcbf により返される Figure を処理します。gcbf が空の結果を返す場合、printgcf により返される Figure を処理します。

ヒント

  • Figure のプロパティを設定して、印刷と保存のパラメーターの一部を制御できます。次の表に、印刷と保存に関連する Figure のプロパティを一覧します。

    Figure プロパティ説明
    PaperPosition印刷または保存する Figure のサイズ。プリンターやフル ページ出力形式で印刷する場合、このプロパティによってページ上の Figure の位置も決定されます。
    PaperPositionMode印刷または保存する Figure のサイズを設定する際に、画面上の Figure のサイズを使用するか、または PaperPosition プロパティを使用するかを指定します。
    InvertHardcopyFigure の印刷または保存時に、Figure の現在の背景色をそのまま使用するか、背景色を白に変更するかを指定します。
    PaperOrientation印刷ページでの Figure の向き。
    PaperType標準の用紙サイズ。
    PaperSizeカスタムの用紙幅と高さ。
    PaperUnitsPaperSize プロパティおよび PaperPosition プロパティの単位。

  • Linux または Mac システムを使用していて、無効なプリンターまたは認識されないプリンターに関するエラーが発生した場合は、Figure の内容を PDF ファイルとして保存します。以下に例を示します。

    print('MyPlot.pdf','-dpdf')
    その後、外部の PDF ビューアーを使用して PDF ファイルを印刷します。

  • SizeChangedFcn プロパティにコールバックが定義されている Figure を印刷する際に出力のサイズが画面上の Figure のサイズとは異なる場合、関数 print は警告メッセージを表示します。この警告メッセージを回避するには、Figure の PaperPositionMode プロパティを 'auto' に設定してください。

代替機能

R2020a 以降

関数 exportgraphics は、任意の座標軸、Figure、Figure の子となることができるチャート、タイル表示チャート レイアウト、またはパネルなどのコンテナーの内容を保存します。この関数は、以下を行う場合に関数 print の優れた代替関数となります。

  • アプリまたは MATLAB Online に表示されるグラフィックスを保存

  • 内容の周りの空白を最小化

  • PDF フラグメントを組み込み可能なフォントと共に保存

  • マルチページ PDF を保存 ("R2021b 以降")

  • Figure 内の内容のサブセットを保存

  • Figure のプロパティを変更する必要なく背景色を制御

関数 copygraphics には、関数 exportgraphics とほぼ同じ機能が用意されていますが、コンテンツをファイルに保存せずにシステムのクリップボードにコピーする点が異なります。この関数を使用して、内容を MATLAB からコピーして他のアプリケーションに貼り付けます。

バージョン履歴

R2006a より前に導入

すべて展開する