おがさわらなるひこのオープンソースとかプログラミングとか印刷技術とか

おがさわらなるひこ @naru0ga が技術系で興味を持ったりなんだりしたことをたまーに書くブログです。最近はてなダイアリー放置しすぎて記事書くたびにはてな記法忘れるのではてなブログに移行しました。

クリエイティブ・コモンズ・ライセンス
特に断りがない場合は、本ブログの筆者によるコンテンツは クリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスの下に提供されています。

Acrobatが買えなくても安心、PDFの墨消し

この記事はLibreOffice Advent Calendar 2019の15日目の記事です。昨日はhajime_nakagamiさんのLibreOffice の Base と Firebirdでした。

さて。お手元にある特定の文書。誰かにお渡しなければならないのだけど、あるいはWebなどで公開する必要があるのだけど、いやーこの一部の情報だけは隠さないといろいろまずい。そんな状況に急に追い込まれることが、この複雑な社会で生きていると、あるかもしれません。

要は見えなきゃいいんでしょ? じゃあ黒いオブジェクトを上に乗せて、PDFにして編集不可にすればいいじゃない。

f:id:naruoga:20191215191217p:plain

ほら、これで大丈夫!

けど、このPDFをLibreOffice Drawで開くと……

f:id:naruoga:20191215191335p:plain

動かしたら情報丸見え!

そう、単にPDF化しただけでは、オブジェクトとしては残っちゃってるんですねー。

ナニナニ? Acrobatには「墨消し」機能があるからそれを使え? はいはい、結構ですね、でもそれだけのためにAdobeさんに課金するのも少々シャクじゃないですか?

そんなあなたに。LibreOfficeの「墨消し」機能をご紹介。6.3の新機能です。

f:id:naruoga:20191215192848p:plain

こうやって、ツール ▶ 墨消し、を選びますと、おもむろにDrawが起動して、墨消ししたいドキュメントが転記されてます。が、一つ、見慣れないフローティングなツールバーが。

f:id:naruoga:20191215193313p:plain

こいつ。これが「墨消し」ツールアイコンです。この左端のアイコンを選ぶと長方形が書けるようになるので、こんなふうに隠したい部分に重ねます。フリーハンドでヌリヌリしたい場合はその右のフリーハンドアイコンを使えばOK。

f:id:naruoga:20191215193811p:plain

透けてるじゃないかって? これは意図的です。消すべきものをちゃんと消しているかを判断するため。

そして、右から二番目のアイコンをクリックしますと、PDFエクスポート機能が起動して、出力されたファイルを確認すると:

f:id:naruoga:20191215195617p:plain

ちゃんと墨消しされてますね!

……いやいや、だからオブジェクト重ねてるだけじゃダメって話だったじゃん? PDFとしてどうなってるかわからん、信用ならん。そんなあなたに、今街で話題のこのツール

github.com

で見てみましょう。

> hpdft -r 1 suminuri-sample.pdf
[
/Type: /Page
/Parent: 7
/Resources: 9
/MediaBox: 0.0, 0.0, 595.303937007874, 841.889763779528
/Group: 
  /S: /Transparency
  /CS: /DeviceRGB
  /I: True
/Contents: 2]
> hpdft -r 2 suminuri-sample.pdf
[
/Length: 3
/Filter: /FlateDecode,
  0.1 w
q 0 0.028 595.275 841.861 re
W* n
q 595.304 0 0 841.89 0 0.028 cm
/Im4 Do Q
Q ]

私のPDF知識は限りなくゼロに近いですが*1、ページの中にあるコンテンツはテキストじゃなくてイメージがべったん貼ってあるだけなんですね。これなら安心!

逆に言うと:

> pdftotext suminuri-sample.pdf 
>

なんにも出ないわけで、セキュリティ面はバッチリですが、PDFとは……というお気持ちになります。まあ、それはしょうがないというか、なんというか。こういう用途だとテキストいっさい抽出できないほうがほうがいいというのはそのとおりですね。

最後に小ネタ。「墨消し」ですが、墨じゃなくて白に塗ることもできます。

ということでちょい遅れでしたが時事ネタでした。 明日はEiichiroKさんの「writerでスタイルを使って文章を書くと楽になる」です。よろしくおねがいします。

2019.12.17 補足

  • 書き忘れてましたがこの機能WriterだけでなくCalcやImpressでも使えます
  • もちろんLibOにインポートできさえすればいいのでMS WordのファイルやCSVなんかに対してもOK
  • ただしDrawに吐き出す際に、フォントが適切に当たってないとレイアウトが大きく崩れるっぽいので、そこらへんは適当に直したほうがよさそう

*1:そんな私でもこの記事を含む鹿野さんの連載はとても面白かったです。