図をpdfにて出力す​る際に生じる日本語の​文字化けについて

조회 수: 14 (최근 30일)
Takehide Kimura
Takehide Kimura 2022년 2월 5일
댓글: Kojiro Saito 2022년 2월 8일
ラベルに日本語を含む図を作成し、
「exportgraphics」を用いてpdf形式にて図を保存することを試みています。
しかし、出力されたpdfファイルを開くと
図のラベルの日本語が「#######」と表示され、正しく記載されません。
この問題を解決する方法はありますでしょうか。
なお、MATLABのバージョンはR2021aです。
ご教示いただけますと幸いです。
  댓글 수: 2
Kojiro Saito
Kojiro Saito 2022년 2월 7일
OSはWindowsでしょうか?それともMacやLinuxでしょうか?
また、MATLABで現在使用しているフォント名を教えて下さい。
s = settings;
s.matlab.fonts.codefont.Name
でリターンされる値のActiveValueが現在使用しているフォント名です。
Takehide Kimura
Takehide Kimura 2022년 2월 7일
コメント頂きありがとうございます。
OSはmacで
ActiveValueは 'Monospaced'
になります。

댓글을 달려면 로그인하십시오.

채택된 답변

Kojiro Saito
Kojiro Saito 2022년 2월 7일
Macの場合、exportgraphicsでPDFにするとフォントの種類によっては埋め込みがうまくいかないようです。R2021bでも同様の症状が発生しました。Windowsでは起こりませんでした。
2つワークアラウンドをご提示します。
(1) Figureを画像ファイルで保存してから再度読み込んでexportgraphicsをかける
exportgraphics(gcf,'out.png')
img = imread('out.png');
exportgraphics(gcf, 'out.pdf')
PNGにしてからimreadで読み込んでexportgraphicsでPDFにしています。日本語ラベルも表示されるようになります。
デメリットは、PDFのファイルサイズが約380KBほどに大きくなってしまうことと、日本語ラベルが画像として埋め込まれているので、PDFのキーワード検索でヒットしなくなるということです。
(2) FigureをsaveasまたはprintでPDFに保存する
saveasprintでもFigureをPDFファイルに保存することができます。
saveas(gcf, 'out.pdf')
% または
print(gcf,'out','-dpdf')
デメリットは、exportgraphicsのようにPDFの余白がタイトになっていないところで、必要に応じて調整する必要があります。
【ドキュメント】余白を最小限にしたプロットの保存を参考にPDFの余白を変更できます。
fig = gcf;
fig.PaperPositionMode = 'auto'
fig_pos = fig.PaperPosition;
fig.PaperSize = [fig_pos(3) fig_pos(4)];
print(gcf,'out','-dpdf')
  댓글 수: 2
Takehide Kimura
Takehide Kimura 2022년 2월 7일
ご教示いただきありがとうございます。
無事に解決することができました。
とても勉強になりました。
この度はありがとうございました。
Kojiro Saito
Kojiro Saito 2022년 2월 8일
解決して良かったです。exportgraphicsのPDFでの文字化けについて開発部門にも伝えておきます。
差し支えなければ回答の「採用」をお願いします。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 印刷と保存에 대해 자세히 알아보기

태그

제품


릴리스

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!