2015年11月7日

TeX2imgに入れてあるmudrawは,TeX2imgから呼び出すために少し手を入れている.具体的には対話モードみたいに動けるようになっている.こんな感じ.

> mudraw --interactive
open_document         ← ファイルを開く命令
8                     ← test.pdf の文字数
test.pdf
1                     ← 戻り値,以降test.pdfにはこの番号でアクセスできる
load_page             ← ページを取得する
1                     ← 上で得たopen_documentの戻り値
0                     ← 1ページ目.ページ数から1引いた値を指定する.
1                     ← 戻り値,以降このページにはこの番号でアクセスできる
rotate_page           ← /Rotateを取得する
1                     ← load_pageの戻り値
90                    ← 戻り値
pdfbox_page           ← boxを取得する
1                     ← load_pageの戻り値
4                     ← cropの文字数
crop
0.000000              ← 戻り値,左
0.000000              ← 下
595.280029            ← 右
841.890015            ← 上
quit                  ← 終了

関数を引数により呼び出す感じ.値型として使えるのは数字と文字列で,数字は数字[改行]で,文字列は(文字列長さ)[改行](文字列本体)[改行]で与える.改行はLFでもCRLFでもCRでも大丈夫だと思う.TeX2imgではこうして注釈を入れている.

open_document
8
test.pdf
1
load_page
1
0
1                     ← ここまで上と同じ.
create_annot          ← 新しい注釈を作る
1                     ← load_pageの戻り値
4
Text                  ← "Text"形式の注釈を作る
1                     ← 戻り値
set_annot_contents    ← 注釈の中身を設定する
1                     ← create_annotの戻り値
14                    ← 文字列長さ
I have                ← 設定する文字列.このように改行を入れることもできる.
a pen
                      ← 戻り値はないので改行が帰ってくる
set_annot_flag        ← 注釈のフラグを設定
1                     ← create_annotの戻り値
35                    ← フラグ……何を意味するのかは忘れた.

write_document        ← ファイルへ書き出し
1                     ← open_documentの戻り値
7
out.pdf

quit

文字列はUTF-8で渡す.文字数は「バイト数」なので,改行がCRLFの場合は2文字で数える.文字列の長さを先に入力するのとかが激しく面倒なので,自分で手で打って使うことはないですね…….

0 件のコメント:

コメントを投稿

コメントの追加にはサードパーティーCookieの許可が必要です