ホーム > タグ > c言語

c言語

Adobe Reader X対応のpdfopenとpdfclose

先日,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

Adobe Forums: Reader X: DDE Open command can open…

というわけで,まさにこのまんまなのですが,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.というわけで,私の活動は役割を終えました.

Home > タグ > c言語

アフィリエイト

Return to page top