粗大メモ置き場

個人用,たまーに来訪者を意識する雑記メモ

PDFの図をIPEで編集

前回に引き続きIPEの布教です。(今回はなぜかですます調)

ossyaritoori.hatenablog.com

IPEの強い点はLatexを用いた綺麗な作図を直接PDFで生成/編集が可能というところでした 。
ところが,IPEは任意のPDFを開けるというわけではなく「IPEで作ったPDFしか開けない」という足かせがあります。

PDFをIPEで開けるようにする

はい,実はIPEをインストールしたbinの中に「pdftoipe.exe」と「ipetoipe.exe」というファイルがありましてそいつらを使えばPDFをIPEで扱える形式に変換可能です。
Matlab · otfried/ipe-wiki Wiki · GitHub

手順は以下の2stepです。

pdftoipe.exe file.pdf file.xml
ipetoipe.exe -pdf file.xml file.pdf

最初の行でPDFをIPEで開けるようにして,次の行でPDFとして保存し直しています。
まぁ編集するだけなら最初の行だけで良さそう。

具体例:MATLABの図

以下の図は僕が昔matlabで作った図です。
f:id:ossyaritoori:20180129205817p:plain

いろいろ突っ込みどころはありますがこれをIPEで開くと次のようになります。
f:id:ossyaritoori:20180129210008p:plain

TextBoxの区切りがちょっと変になったりξが文字化けしてνになっていますがこれは再編集すれば治ることです。

再編集した結果がこちら。
字体やフォントの違いなど注意事項はありますがIPEの強さがわかっていただけたかと思います。
f:id:ossyaritoori:20180129210605p:plain

ちなみに捏造っぽいこともできます。
良い子のみんなは真似しないように
f:id:ossyaritoori:20180129210850p:plain

他の具体例も暇があれば試します。

PDFのCropping

PDFの余白切り抜きも思いのままです。
f:id:ossyaritoori:20180130002926p:plain
上のように外苑の赤枠を加工することで,PDFの余白を削れます。

以下の記事で紹介したBrissよりはるかに高性能なので図の余白調整にはこちらを使うことにします。
ossyaritoori.hatenablog.com


batファイルの作成

毎回コマンドをうつのはだるさの極みな(環境変数などもだるい)のでbatファイルで自動化をします。

PDFをIPE形式に変換して開く(一行目のみの実装)

とりあえず以下のファイルに適当な名前を着けて保存します。
私は「openPDFinIPE.bat」という名前にしました。

「set INPUT= %1 」でドラッグ&ドロップしたファイルのパスを取得
ファイル置換を用いて変換後のファイル名を生成しています。

使用する際には最後2行のIPEのpathをキチンと書き換えてください。

@echo off

echo FileName is ...

set INPUT= %1
set FNAME= %INPUT:.pdf=%
set IPE_FILE= %INPUT:.pdf=.ipe%
set OUTPUT= %INPUT:.pdf=ipe.pdf%

echo %INPUT%

C:\Users\YOURNAME\Desktop\ipe-7.2.7\bin\pdftoipe.exe %INPUT% %IPE_FILE%
C:\Users\YOURNAME\Desktop\ipe-7.2.7\bin\ipe.exe %IPE_FILE%

後はbatにドラッグアンドドロップすればipeでファイルを開くことができます。
ショートカットを作ってデスクトップとかに置くのもありか?