【スポンサーリンク】

なぜオンライン版ExcelでエクスポートしたPDFが「JavaScriptの機能を使用している」の?(自動印刷処理)

なぜオンライン版ExcelでエクスポートしたPDFが「JavaScriptの機能を使用している」の?(自動印刷処理)
  • オンライン版Excelからエクスポートした PDFで、JavaScriptの機能が使用されているという警告が表示されました。
  • これは、PDFを開いたらすぐに印刷できるスクリプトが埋め込まれているためです。
  • しかし、PDF内のJavaScriptにはセキュリティ上の懸念もあり、なるべくならオフにしておきたいです。
追記:2024-08-01

「印刷」から「PDFとしてエクスポート」したときには JavaScriptが埋め込まれているものの、「エクスポート」からPDFをダウンロードした場合には JavaScriptが埋め込まれなくなっていました。

なぜオンライン版ExcelでエクスポートしたPDFが「JavaScriptの機能を使用している」の?(自動印刷処理)

ローカルのExcelからPDFにエクスポートすれば、JavaScriptは含まれません。

YouTube動画でも話しています。

特典ダウンロード
【ちいラボ読者特典】印刷してすぐ使える!
\記事が役に立ったらシェアしてね/
【スポンサーリンク】

1. ExcelからエクスポートしたPDFで警告画面

オンライン版のExcelでは、ファイルをエクスポートしたPDFとしてダウンロードできます。

ExcelからエクスポートしたPDFで警告画面

しかし、そのファイルをAdobe Acrobat Readerで開いたら、「JavaScriptの機能を使用している」という警告が表示されます。

ExcelからエクスポートしたPDFで警告画面

JavaScript は現在無効になっていますが、この文書は一部の機能でそれを使用しています。Javascriptを有効にすると、セキュリティ上の問題が発生する可能性があります。

[オプション] [ヘルプ1 ]

ExcelからエクスポートしたPDFで警告画面

これは、関数や条件付き書式・マクロなどを全く利用していないシンプルなブックでも同様でした。

1-1. JavaScriptを有効にすると印刷画面が表示される

警告メッセージの「オプション」には、「この文書の JavaScript を一度だけ有効にする」という選択肢があります。

JavaScriptを有効にすると印刷画面が表示される

JavaScriptを有効にすると、印刷ダイアログが表示されました。

JavaScriptを有効にすると印刷画面が表示される

つまり、印刷処理がスクリプトに書かれていたことがわかります。

PDFがJavaScriptの機能を使用している場合、それには主に以下の理由があります。

  1. インタラクティブな機能の実現:
    例えば、フォームの入力、ボタンのクリック、ナビゲーションの実装などです。
  2. データの動的な表示:
    例えば、現在の日付や時刻、ユーザー入力に基づいた計算結果などをリアルタイムで反映させられます。
  3. 外部データとの連携:
    外部のデータベースやWebサービスにアクセスし、最新の情報を含んだPDFを生成できます。
  4. レイアウトの調整:
    例えば、ページサイズに合わせてコンテンツを自動的にリサイズしたり、特定の条件に基づいて要素を表示・非表示にしたりできます。

1-2. オンライン版のExcel

オンライン版 Excelの設定を確認しましたが、JavaScriptを含まないようにする設定は見つけられませんでした。

どうもダウンロードしたPDFをすぐに印刷する想定で設計されているようです。

2. 警告は不要でJavaScriptを無視したい

警告は不要でJavaScriptを無視したい

うーん、JavaScriptが無効でもPDFは表示されているんだから、開くたびに警告が出てくるのはなくせないの?

確かに、基本的にはシンプルなPDF文書を作成して、どうしても高度な機能が必要な書類やフォームでだけ JavaScript を有効化するのがよいです2
ただし、Acrobat Readerでは JavaScript を無効にしても、警告は常に表示されます。
警告を表示しないと、PDFに付加されている機能に気付けなくなってしまうからです。

2-1. Acrobat JavaScript を使用とセキュリティ上の問題

ただし、PDFを開いたときに警告は表示されず、そのままJavaScriptが実行される設定はあります。

Acrobat Readerの「環境設定」から「JavaScript」を選択し、「Acrobat JavaScript を使用」のチェックをつけます。

Acrobat JavaScript を使用とセキュリティ上の問題

ただし、「Acrobat JavaScript を使用のチェックは付けないほうがよいです。

もし、PDFに悪意のあるJavaScriptコードが埋め込まれていると、それによってユーザーの情報が漏洩したり、システムに悪影響を及ぼしたりする可能性があるからです。

通知メッセージは、PDFでJavaScriptが使用されていることを警告し、セキュリティリスクについて注意を喚起しています。

面倒ですが信頼できるソースから取得したPDFかどうかを判断して、状況に応じてJavaScriptを有効にした方がよいです。

3. 【追記】エクスポートではJavaScriptは表示されなくなった(2024-08-01)

久々に確認したら、PDFを開いたときにJavaScriptの表示はありませんでした。

よく手順を確認してみると、エクスポートと印刷で微妙に違いがありました。

【追記】エクスポートではJavaScriptは表示されなくなった(2024-08-01)

オンライン版Excelの「ファイル」の「エクスポート」から「PDFとしてダウンロード」を選んだ場合には、シンプルなPDFが保存されました。

【追記】エクスポートではJavaScriptは表示されなくなった(2024-08-01)

一方、「印刷」の「プリンター」から「PDFとしてエクスポート」を選択して、「ダウンロード」した場合には、以前として JavaScriptが表示されました。

【追記】エクスポートではJavaScriptは表示されなくなった(2024-08-01)
【追記】エクスポートではJavaScriptは表示されなくなった(2024-08-01)

これなら、PDFに印刷のスクリプトが含まれているのも納得だね。

以前は、PDFのエクスポートでも表示されていたはずなんだけど、いつの間にか直ったんだね。

こちらもどうぞ。
[OneDrive] Excelファイルが競合して同期できない(マージとOffice)
[OneDrive] Excelファイルが競合して同期できない(マージとOffice)
OneDriveが「同期できない」というエラーを表示するのは、ローカルとオンラインのファイルが別々に編集されてしまったときです。OneDriveは、競合ファイルが生まれると、Officeの共同編集機能で2つのファイルを機械的につなぎ合わせよう(マージ)とします。しかし、これは複雑な処理でうまく完了しないことも多いですその場合は、ローカルの方のファイルが別名に変わるので、その中身の編集内容を自分でオリジナルのファイルに反映させます。YouTube動画でも話しています。「ファイル...

ウェブページのスクリプトがマルウェアを「組み立てる」危険とは?【HTMLスマグリング】
ウェブページのスクリプトがマルウェアを「組み立てる」危険とは?【HTMLスマグリング】
Microsoft Security Intelligenceによると、近年 「HTMLスマグリング(HTML Smuggling:HTMLの密輸)」というサイバー攻撃の手法が増えているそうです。「ウェブページのJavaScriptが、コンピュータ内にマルウェアを構築する」という話を見て、「ウェブページを見るだけで、マルウェアが保存されてしまうのか」と思ってびっくりしました。ただ、「見るだけで感染する」というわけではなさそうです。注意点は「フィッシング詐欺」と一緒。怪しいメー...

ブログでJavaScriptプログラムを動かしてみよう【カスタムHTMLとscriptタグ】
ブログでJavaScriptプログラムを動かしてみよう【カスタムHTMLとscriptタグ】
ブログの中でJavaScriptを動かして遊ぶ方法をご紹介します。WordPressサイトに直接HTMLコードを入力するために「カスタムHTML」というブロックを挿入します。JavaScriptのコードは最初と最後をのタグで囲んだ中に入力します。

PowerPointから動画を作ったら画面切り替えがおかしくなった【mp4とwmv】
PowerPointから動画を作ったら画面切り替えがおかしくなった【mp4とwmv】
PowerPoint で動画を書き出したら、「画面切り替え」の効果がおかしくなっていました。ファイル形式を mp4 ではなく、wmv に変えると、正常な動画ファイルが出来上がりました。PowerPointの動画書き出しは、wmvの方が相性が良いです。環境PowerPoint 2019、Windows 11PowerPointでビデオを作成するPowerPoint は、主に説明スライドを作るのに使われますが、動画を制作することもできます。画面切り替えがうまく表示されないところが...

(補足)

  1. リンク先(https://www.adobe.com/go/acrobat_disabled_javascript_jp)ページは存在しない(404)ようでした。
  2. remove disabled javascript warning bar in adobe acrobat – Stack Overflow
QRコードを読み込むと、関連記事を確認できます。

なぜオンライン版ExcelでエクスポートしたPDFが「JavaScriptの機能を使用している」の?(自動印刷処理)
【スポンサーリンク】
タイトルとURLをコピーしました