home «前の日記(2007-08-16) 最新 次の日記(2007-08-19)»

いろいろ
Seize the day.

2004|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|07|09|10|

2007-08-17 [長年日記]

[comp] TeX で PDF 用外部アプリケーション起動ボタンを作る

そんなことができるのかと思ってやってみたらできた. ただしこの例だと tex でコンパイルしないといけないので,勢いで platex 用にマクロを作ってみました.
\documentclass{jarticle}
\makeatletter
\newcommand{\extapp}[5][]{%
\special{pdf: ann width #2cm height #3cm
<< /Type /Annot /Subtype /Link
   /Border [0 0 #4]
   /A
   << /Type /Action
      /S /Launch
      \if#1w/Win << /F (#5)\else/F (#5)\fi
      >>
   >>
>>}
}
\makeatother
\begin{document}
Click the squares below to launch external applications.
C:/windows/system32/winmine.exe (for Windows)
\vspace{1cm}
\extapp{1}{1}{2}{C:/windows/system32/winmine.exe}
\%WINDOWS/system32/winmine.exe (for Windows)
\vspace{1cm}
\extapp[w]{1}{1}{2}{winmine.exe}
/usr/local/bin/xdvi (for UNIX/Linux)
\vspace{1cm}
\extapp{1}{1}{2}{/usr/local/bin/xdvi}
\end{document}
このマクロ \extapp
\extapp[set "w" here to use the %WINDOWS folder]{box width}{box height}{line width}{/path/to/command}
といった感じで使います.オプションで w を指定すると %WINDOWS フォルダをパス内で省略可能.コマンドのパスのデリミタはバックスラッシュや円マークでなくてスラッシュ「/」にしてください.
platex でコンパイルし,dvipdfm で PDF にします.dvips は多分使えない.パスにスラッシュが入ってると,
[1
Unparsed material at end of special ignored...
Current input buffer is -->>><--
]
みたいな warning が出ますが,無視してください(激ぉ

以下がサンプル.PDF 文書内の四角をクリックするとマインスイーパや xdvi が起動します (まともな PDF ビューアなら一応事前に確認を取るためのダイアログボックスが出るはず.念のため,「以後,このメッセージを表示しない」をチェックしないようにして下さい). VBA マクロと同様,安全性には十分に注意しないといけないが,うまく使えば便利かも知れない.何かいいアプリケーションがありそうだが,思い付かん….

追記: ウェブブラウザ内で PDF を開いた場合./Win を使った方法 (2 番目の四角) しか使えないっぽいですね (Firefox 2.0.0.6,IE 6.0 で確認) .1 番目の四角は「ファイルのダウンロード」になってしまう.PDF をダウンロードして直接 Acrobat Reader で開くと 1 番目の四角も有効のようです.
このエントリーをはてなブックマークに追加 はてなブックマーク数 はてなブックマークコメント   このエントリーを livedoor クリップに追加 livedoor クリップ数 このエントリーを del.ici.ous に追加 このエントリーを buzzurl に追加 buzzurl クリップ数

お名前:
E-mail:
コメント:
[TrackBack URL: http://nao.s164.xrea.com/td/tb.rb/20070817]
[(注) スパム対策のため,言及リンクのないトラックバックは受け付けていません.]
本日のリンク元
検索

以下の広告はサーバによって自動的に挿入されています.


Copyright © 2004-2006, nao. All rights reserved.