- 投稿: 2010年11月29日 12:00
- 更新: 2010年12月15日 17:51
- ソフトウェア
先日,Adobe Reader XとDDE通信できない旨のエントリを書きました.我々dvipdfmx使いとしては狂気の沙汰であり,論文を書く気力が5000分の1まで急落しました.渋々Adobe Reader 9に戻すことで対応していたのですが,この度,解決方法が判明したので,解決策を公開します.ぶっちゃけ,タイトルは半分合ってて半分釣りです.厳密にはAdobe Reader X専用のpdfopen/pdfcloseを作ったが正解です.
解決手段
Please change your application to use following servername for Acrobat/Reader instead of “acroview” try the following:
For Reader X Use DDE_SERVERNAME = acroviewR10
For Acrobat X Use DDE_SERVERNAME = acroviewA10
というわけで,まさにこのまんまなのですが,DDE通信できなかったのは,DDEサーバ名が変更になったからです.単純な話です.ですので,DDEサーバ名を変更すればokです.
え?pdfopen/pdfcloseにそんな設定項目はないですよね?ということは・・・.ソースを弄るしかないです.ではソースはどこにあるのか?探しました.見つかりました.オリジナルソースは同梱されていますが,ウェブ上にソースを頼るなら,これでしょうか?どちらでも構いませんが.
対処方法
対処方法も何も明らかなので,サクッと説明します.36行目を以下のように書き換えます.
変更前:
#define ACROBAT "acroview"
変更後:
#define ACROBAT "acroviewR10"
簡単ね!あとは,同梱されているbuild.batを実行してpdfopen.exeとpdfclose.exeを作成して,既存のpdfopen/pdfcloseと置き換えればオッケー牧場.なお,build.batはclコマンドを使っていますので,Microsoft Cコンパイラ想定です.VC2010Express辺りを使ったらいいんじゃないでしょうか.わかる人は他のコンパイラでも良いと思います.
配布
ライセンスにはAcrobat (r) Plug-ins Software Development Kit License Agreementと書かれているのですが,同名のライセンスが見つかりません.Adobe Acrobat SDK License Agreementでいいですかね?わかりません.よく解ってませんが,元に倣って,ソースとバイナリを一式公開します.コンパイル環境はWindows 7 x64のVisual Studio 2008です.対象はAdobe Reader Xです.Adobe Reader 9以前では動きません.
Adobe Reader X対応pdfopen/pdfclose ソースファイルおよびバイナリ一式 (元ソース)
201012151750追記:
2010年12月7日付けの更新で,pdfopen/pdfcloseが更新され,Adobe Reader Xに対応しました.ソースはW32TeXのChangeLog.というわけで,私の活動は役割を終えました.
- Newer: とくダネ!のIBS特集が酷かった件
- Older: 仕事・所得と資産選択(’08) 第7回