firefoxでpdfに追記をし、ghostscriptで画像化する話
pdfを印刷して記入してスキャンして送ってくださいとか、郵送で送ってくださいとか言われることがある。できるだけ印刷したくないし手でも書きたくないのでpdfにそのまま追記したい。でもpdfに書き込むソフトはadobeとか、なんかスパイウエアまみれの謎のソフトとかを利用しないとできない。firefoxデフォルトのpdf表示ソフトには、注釈として文字を入力する機能がある。これを利用したい。
firefoxで書き込む
pdfをfirefoxで開いて、『T』の字のような、文字を入力しますよ的なボタンを押して、文字を入力したい部分をクリックすると文字が入力できる。入力したら、ほかのところをクリックしてから、入力したボックスをドラッグすると位置を調整できる。
firefoxで保存する
普通に保存マークを押して保存すると、ほかのソフトで文字化けするpdfが出来上がる。バイナリを調べてみるとutf-16で文字部分が保存されているところまで分かった。ghostscriptでこのファイルをpng化しようとすると日本語部分がぶっ壊れる。そのため、印刷ボタンを押して、ファイルに印刷すると、また違う形式で保存され、今度は日本語がほかのソフトでも文字化けしない。ghostscriptでも正常に利用できるようになる。最終ファイルがpdfでいい場合このまま印刷するなり電子メールで送るなりするとよい。
ghostscriptで画像にする
pdfは上記のように環境次第でぶっ壊れた見た目になったり謎の挙動をして信用できないもしくは印刷機がpdfに対応していないなどあまり使いたくないので画像ファイルとして保存したい。上記の手順でファイルとして印刷されたpdfをghostscriptでpngに変換する。
まずghostscriptをインストールする。ghostscript windows インストールで出てきた検索結果に従って入れるとよい。あとはパスをコマンドラインに通す。スタート→設定→システムの詳細設定→詳細設定→環境変数を開いて、Pathと書かれた部分をダブルクリックして、出てきたウインドウの一番下にgswin64.exeのあるディレクトリを書き込む。インストーラーによってgsのインストール先はまちまちだとは思うが、C:\Program Files\gs\gs10.03.1\bin みたいなディレクトリのこと。
あとはコマンドラインを起動し、目的のファイルのあるディレクトリに移動し、変換のコマンドを実行する。
コマンドラインは左下の白枠にcmdと入力してエンターを押すと起動できる。
目的のファイルの場所への移動は例えばAさんのデスクトップなら以下のように行う。
cd c:\Users\A\Desktop
目的のコマンドは以下の通り。
gswin64 -sDEVICE=png16m -r300 -dGraphicsAlphaBits=4 -o output.png input.pdf
-sDEVICEオプションは出力形式を指定するらしい。-rはDPIで解像度を指定する。-dGraphicsAlphaBits=4のところはアンチエイリアスの設定らしい。
あとは好きに印刷して折りたたんで封筒に入れて乗りで封をしてポストに投函するだけである。つらい。