質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
kintone

kintone(キントーン)とは、サイボウズ社が提供する業務改善プラットフォームです。

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

2回答

2576閲覧

MisocaAPIで取得したPDFファイルの日本語文字化け

KentH

総合スコア0

kintone

kintone(キントーン)とは、サイボウズ社が提供する業務改善プラットフォームです。

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2020/08/25 21:39

編集2020/09/29 13:20

MisocaAPIで取得したPDFファイルのダウンロード

MisocaAPIを使用してkintoneからPDFファイルをダウンロードしたいです。
使用するAPIはMisoca API v3の/invoice/{id}/pdfです。

発生している問題・エラーメッセージ

APIを使用し、リクエストを発行しました。
レスポンスデータのbody部をBlobオブジェクトを作成しました。
aタグを使用しBlobオブジェクトをダウンロードするところまで実装しましたが、
ダウンロードしたファイルの日本語が文字化けしてしまいます。

該当のソースコード

Javascript

1 2// PDFデータ取得時のコード 3const header = { 4 'Content-Type': 'application/json', 5 'Authorization': 'Bearer ' + act, 6}; 7const id = 1111; //Misocaの請求書のID 8const requestUrl = '/invoice/' + id + '/pdf'; 9 10return kintone.plugin.app.proxy(PLUGIN_ID, 'https://app.misoca.jp/api/v3' + requestUrl, 'GET', header, {}).then((resp)=> { 11 const result = new Blob([resp[0]], {type: 'application/pdf'}); 12 13 const link = document.createElement('a'); 14 link.href = window.URL.createObjectURL(result); 15 link.download = 'misocaInvoice.pdf'; 16 link.click();// リンクをクリックし、ダウンロードする 17});

試したこと

PostmanでHTTPリクエスト発行し、取得したデータを保存した場合は文字化けしませんでした。

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

追加情報により
PDFで使われているフォントは「源真ゴシック (げんしんゴシック)」と判りました。
無料フォントなんですが、なぜこのフォントが使われているのかは不明です。
(PDF埋め込みフォントでもなく標準フォントでもないのを採用している理由が不明
AIPのバグだ!と断言できるレベルです)

対応策は2方法あります
案A. Misocaに連絡し埋め込みフォントにするようにAPIを変更してもらう。
本来はこの方法が適切です。
ただ時間も手間もかかります。
なので

案B. フォントをインストールする
源真ゴシック
0. 上記URLから源真ゴシックを「zip 形式でダウンロード」して下さい。(HPの最後辺りにあります。)
0. ダウンロードしたファイルを解凍して下さい
0. 拡張子が.ttfのファイルが23ファイルあると思います。
今回使用するのは「GenShinGothic-Bold.ttf」「GenShinGothic-Medium.ttf」
0. 「GenShinGothic-Bold.ttf」をダブルクリックします。
0. Font Bookが起動しそのフォントの外観が表示されます。
0. [フォントをインストール]をクリックします。
0. 「GenShinGothic-Medium.ttf」をダブルクリックします。
0. Font Bookが起動しそのフォントの外観が表示されます。
0. [フォントをインストール]をクリックします。

これでPDFを開いたら読めるはずです。

投稿2020/09/29 21:55

kuma_kuma_

総合スコア2506

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KentH

2020/09/30 09:46

回答ありがとうございます。 フォントファイルをダウンロードして2つインストールしましたが、変わらず文字化けしてしまいました。 なにか他に方法はありますか?
kuma_kuma_

2020/09/30 14:05

しかたないので残りのフォントもインストールしてもらえますか? 普通エンコーディングの欄に文字の形式情報があるはずなんですけど それもないので...あとは問い合わせるしかないかな...
KentH

2020/10/01 20:40

残りのフォントもインストールしましたが、残念ながら治りませんでした。 問い合わせが必要ですね。 ありがとうございました!
guest

0

Javascript

1const result = new Blob([resp[0]], {type: 'application/pdf;charset=utf-8'});

を試してみて下さい。

投稿2020/09/26 00:15

kuma_kuma_

総合スコア2506

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KentH

2020/09/28 22:09

charset=utf-8を追加して、試してみましたが、結果は変わらず文字化けしてしまいます。
kuma_kuma_

2020/09/29 01:50

普通に落としてきても文字化けするのですか? せめて文字コードがなにか判ればよいのですが...
kuma_kuma_

2020/09/29 02:09

すみません確認をしたいのですが 1. 質問者様の環境はWindowsまたはMacどちらでしょうか? 2. MisocaでふつうにダウンロードしたPDFファイルは文字化けせずに読むことができますか? 3. PDFを開くとき「Acrobat Reader」などのPDF用ソフトを使用していますか? それともブラウザで開いていますか? 4. PDF用ソフトを使用されていない場合「Acrobat Reader」などソフトをインストールをお願いする事は可能ですか?
KentH

2020/09/29 05:43

返信ありがとうございます。 >1 Macです。 >2 はい。できます。 >3 両方試しましたが、両方だめでした。 >4 既にインストール済みです。 お手数おかけしますが回答よろしくお願いします。
kuma_kuma_

2020/09/29 06:00 編集

それでは文字化けしたPDFファイルを「Acrobat Reader」で開いて見て下さい。 開いたら「Acrobat Reader」の画面左上の「ファイル」クリックしてメニューを表示 「プロパティ」でクリックしてみて下さい。 子画面が開きます。 そしたら「フォント」タブを選んでPDFファイルのフォント情報を表示させてください そうしたらお手数ですが画面をキャプチャしてその内容をここの質問欄に追記(画像の追加)してもらえますか? (画像でなくても良いのですが文字のコピーができないので手写しになってしまいます。) うまくキャプチャ等できなかったら教えて下さい。 先に書いておきます。多分ですが(埋め込み)と表示されないフォントがあると思います。 それの影響で文字化けが起きているのでは?と思っている為にこのような手順をお願いしています。
KentH

2020/09/29 13:21

AcrobatReaderのスクリーンショットを追加しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問