JIS規格のPDFの仕組みを眺めてみた

JIS規格は、日本工業標準調査会のWebページで閲覧できます。

ただし、PDFはローカルに保存できず、IEの画面から直接参照しないと見られません。さらに、印刷した場合に文字が読めなくなるような仕組みまで組み込まれています。この手の込んだ妨害工作がどのように実現されているか調べてみました。

1. ローカルに保存しずらくする仕組み

PDF内部にメニュー類を非表示にする設定が書き込まれていて、一見保存できないようになっています。

ただ、AdobeReader Xとかだと、カーソルを画面下方向に持ってくると保存ボタンが出てくるので、それを選ぶと普通に保存できます。あるいは、表示した状態で、F8キーを押すとメニューが現れるので、これで保存できます。

2. ローカルでの閲覧を妨害する仕組み

このPDFには、IEの中から直接開かないと画面を真っ白にするJavaScriptが埋め込まれています。

該当箇所を削除すれば良いのですが、Windows環境では、以下に書いてあった手順で上手くいきました。

JISの保存・閲覧方法(無料)

knifeでPDFを分割するときに、JavaScriptだとか、Annotsだとかが切り捨てられて、欲しい部分だけが残るしくみです。

3. 印刷を妨害する仕組み

Adobe Readerでは、閲覧はできるものの印刷するとうまくいかないという巧妙な仕掛けが施されていました。この仕組みは、スキャンした画像に重ねるテキストの属性を青の塗り潰しにすることで実現できるみたいです。この様子は、xpdfで見るとよく分かります。

これは、印刷するときに、「詳細設定」で、「画像として印刷」にチェックしとけば、きちんと印刷できます。

PDFからこの障害を取り除くには、BTからETの間にある埋め込みテキストで、”0 Tr”(塗りつぶし)などの指示を、”3 Tr”(透明)に置換すればokです。

4. qpdfのこと

unixなどのコマンドラインを使えば、qpdfと若干のperlを使って、都合の悪い部分をバッチ的に除去できます。qpdfは、pdf → pdfのフィルタです。

暗号化されたJIS PDFの復号は、オプション”--decrypt“です。

PDFを読みやすく(qdf形式)するには、オプション”-qdf”を付けます。qdf形式のPDFは、改行やコメントの入った読みやすいPDFで、もちろんAdobeReaderで読めます。

これをエディタで編集した後、qpdfに同梱されている”fix-qdf”で参照を直して、良ければ最後に、再度qpdfを通すと、コンパクトなpdfが出来上がります。

コメント