【Mac】純正アプリAutomatorでPDFファイルのメタデータをいじる【ライフハック】

こんにちは.バーチャルYoutuberネカマリンです.

今日は超ニッチなMacbookお役立ち情報を持ってきました.

 

【目標】

PDFファイルのメタデータを変更する.

 

メタデータとは〜

PDFファイルを選択した状態で右クリック→[情報]で出てくる画面(下図)の[詳細情報].
f:id:maring_study:20200819013251p:plain
今回はこの中でも[コンテンツの作成]の欄を編集することをモチベーションに話をする.

通常,PDFファイルを右クリックしてもPDFのメタデータを編集できるというような項目は存在しない.これをどうするか?

【目的】

ADF(自動送り機)つきのスキャナである「ScanSnap」に付属しているアプリで「ScanSnap Home」がある.
これはとっても有能で,自炊(書籍のPDF化)界隈などで有名なOCR(文字認識)機能が充実している.

しかしこのアプリ,通常は対応したスキャナである「ScanSnap」でスキャンした書類にしかOCRなどの機能は使えないらしい.
私は「ScanSnap」を所持しているものの,たまにOCRをかけ忘れた状態でiPadに入れてしまったりする.一度iPadにインポートして元データを消してしまうと二度とスキャン機能が使えずに困っていたのだ.

どうやって対象ファイルがScanSnapでスキャンされたものだと判断しているのだろう? と考え調べると,どうやらメタデータのコンテンツの作成元を見ているらしいことがわかった.
それならば手動でメタデータを変更するお手軽な方法はないだろうか? と考えたのが始まりだ.

【準備物】

要は準備物はゼロだ.

【手順】

1.Automatorを起動する
2.[書類の新規作成]
3.[クイックアクション]
f:id:maring_study:20200819015031p:plain
4.画面左側[アクション]欄から画面右側にドラッグ・ドロップなどによって,画像下のように設定する.
f:id:maring_study:20200819015331p:plain
今回は[内容の作成]というメタデータだけを変更したいので,その項目にチェックを入れて,ScanSnapの書類にあったメタデータの通りの文言を記入した.
各自好きに設定するとよさそう.
5.workflowをセーブする.この際,右クリックメニューに表示されて欲しい名前でセーブする.
今回は「ScanSnap」とした.

詳細は私が参考にしたページにあり.
www.storange.jp

【成果】

FinderのPDFファイル上で右クリックすると「ScanSnap」というメニューが出現した.Automatorでの設定が反映されている.
f:id:maring_study:20200819020108p:plain

これをScanSnapにインポートすると,専用スキャナーでスキャンした書類だと誤認してOCRなどを行ってくれた.
もしかして,スキャナーを持ってない人でもフリーライドできるような抜け道なのかもしれない.私はスキャナーを持っているので検証しませんが……

ひとまず,OCRかけ忘れ書類のせいであわあわしなくてよくなった.ノートアプリにインポートして文字列で検索をかけまくりたい.

【Python】VSCodeでステップ実行 Python3競プロ環境

数人に紹介してきた気がするので、maring_rinのAtCoder環境を雑紹介。

設定方法

AtCoder用のフォルダを開く

②f1押して出てきた検索画面に「launch」と打ち込んだりぽちぽちしてlaunch.jsonというファイルを生成する
(分からなければlaunch.jsonググる)

③launch.jsonの内容は以下にする

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "args": [
                "<",
                "input.txt"
            ]
        }
    ]
}

設定はこれだけ。

使い方

①launch.jsonと同じディレクトリに、input.txtというファイルを作り、そこにサンプル入力をコピペする

②同じディレクトリにソースコードのファイルを書く
(名前はなんでもいい)

実行

ソースコードの画面でf5を押す

ステップ実行

①各行の左にカーソルを置くと、赤い◯が出る
クリックすると赤い◯が設定できる(ブレークポイント)

②f5を押すと、赤い◯までが実行されて、赤い◯のある行が黄色くなる
(この時点で変数にカーソル合わせると変数の中身がわかるので便利)

③f10を押して1行ずつ実行する

まとめ

私はいつもVSCodeの手元環境で実行して、それをAtCoderの提出欄にコピペしています。
エラーは場所まで教えてくれるし、変数の中身追えるし、変な答えが出てきたときにどう動いてバグってるのか分かるから楽チンです。

Pythonの民はお試しください。

【進学選択体験記】理2から工学部に行けるのか問題

進学選択体験記を書き始めたら詳しくなりすぎたので速報版としての雑記を載せておく。

2018年3月:EEICを見据えた理2進学

1浪して、センター試験で873/900点を取ったのに理1に出すのをビビってしまった。逃げの理2出願といえばそれまでだが、多少のビジョンはあった。
センター後の私はU-task Webで工学部の底点を見てはこう言っていた。「電電と電情は、理1と(点数が)あんま変わらない」
当時から電気系には興味があって(父親がその方面の人間だからかもしれない)、当時のEEICは75点ないくらいだった(気がする)。
とりあえず(理1に出して落ちたら嫌なので)東大に確実に入って、入った後でなんとかする作戦(何とかなりそうだというエビデンス付き)って感じ?

2018年9月:1S成績発表


ぱっと見良さげな成績表だが、基本的に韓国語が尖っているだけで、他はごくごく平均的な成績。平均点も75点くらいのものではなかったかと思う。

脳内お花畑な私は、51可を取った基礎統計を追い出しつつこの調子で頑張れば工学部評点7.0くらいまで上がるのではないかというガバガバ皮算用をしていた。実際、1Sくらいのモチベでガリガリ勉強してれば可能だったのかもしれないけれど……。

2019年8月15日:2S成績発表

ヤバい、ヤバすぎる。総合科目を最低限の履修で済ませたところ、追い出されない可が大量に残って、想定よりも点数が伸び悩んだ。
工学部評点では進学には要らんL系列コリ語が重率1算入されうることを悪用し、4単位優上を確保してなんとか中和した。
1A時点の工学部評点と変わらないまま進振り突入。

2019年8月15日:第1段階志望登録変更

電情→電電への変更。枠と底点を考慮。

思考1:情報人気で電情も人気に?

2018の第1段階底点
電情 理1:6.6 理2:6.3
電電 理1:5.5 理2:5.3
私の持ち点は、6.31

電情が上がったら落ちる、電電は若干オーバーキルくらい。
だんだんと「はやく進振りから解放されて真の夏休みを手に入れたい」と思い始めてくる。

思考2:第2段階電電、危うい説
思考3:第2段階電電に落ちると本格的に希望ルートを逸れる

第2段階は志望順に書けばいいというが、ここで理2であるということが足枷になる。

私の志望順を見ていくと
EEIC→機械A(定数0)→物工(定数5)→精密(定数3)→農学部木質構造(定数3)
となり、mechAには行けないし、物工は化学系に近いし、精密はよくわからないし、もっこうは母親が猛反対しているし……。

正直電情に特別行きたいわけではなかったので、定数の少ない第2段階をどこまでも滑り落ちるよりは、電電に確実に行きたくなってしまった。
このあたりはさすが理2、受け入れ保留アルゴリズムとやらの恩恵を強く感じる間もなく選択肢を絞られてくる。前例などない(あるけど参考にならない)! 今年出した人が自分より強いか弱いか、それだけが大事なHigh or Low?ゲームなのである。

2019年8月23日:第1段階内定発表


予想どおりではあったが、無事に電気電子工学科に内定を果たした。
チキって志望を変えたといえども、そもそも電情を志望していたのも「何となく、かっこよさそうだから」「底点高いしイキれそうだから」くらいのものだったのだ。プログラミングも全くできないし、ハード系にいきがちな電電の方が個人的な趣味には合いそうにある。この決定にはとっても納得して、満足してしまった。

理2から工学部は現実的か?

工学部に行きたいだけなら現実的だが、学科に強いこだわりがあるなら理1行っとけ。これが答えである。

まず、受験生の頃から底点を確認したのは我ながらお見事だ。そんな東大生には未だかつて会ったことがない。私が唯一にして最強ということだ。
確かに底割れ時代に比するとEEICは時めいているが、電電はかなり底点を上げたものの現実的な点数で終わった。まともに勉強して、いくつか得意な分野(二外とか二外とか二外とか)があれば耐えるくらいの点数にしかならないだろうという昔の予想は当たっていた。

ただし、当時あまり見ていなかったけど重要だったのが、枠の問題だ。点数が足りる足りないの話ではなく、第1段階で特攻できるかどうかという精神面に深く関わってくる。
指定科類枠(理2枠)や全科類枠は1ケタ人数がほとんどだ。うちのクラスにはmechA志望者が3人いたはずで、うち2人は80点前後の持ち点で余裕をかましていた。それを見た残り1人は「機械Aは枠が4なのに同クラだけで2枠埋まるじゃん。無理じゃん」となってしまい(※予想)第1段階志望先を変更するとか言っていた気がする。

なにはともあれ(いくつかの誤算はあったが)結果的に私の進振りは満足のいくものだった。血を吐きながら死ぬ気で勉強したわけでもなく、バイトをしまくってサークルにも顔を出し、大好きな友人とグダグダ酒を飲むといったことも経験しながら、納得のいく結果を得ることができた。
学科でどのような生活が待っているのかはわからないが、たとえEEICがブラックすぎてドロップアウトしたくなったとしても、それは進振りのせいではなく、避けられなかった未来であったと思えるだろう。

理2から工学部に行こうというのは、決して無理な選択ではないと思う。理1に出願したら落ちていたかもしれないと考えると、とりあえず東大に入ってから頑張ろうという選択をしたのは間違いではなかった。