ホーム > タグ > pdf

pdf

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

Adobe Reader XとDDE通信できない件

Adobe Reader Xが登場したわけですが,dvipdfmxを駆使しまくって論文を書く人はアップデートすると「むぎゃ!」ってなります.Adobe Reader 9を使い続けた方がいい気がします.

発生する問題

Adobe Readerは開いているpdfをロックするので,dvipdfmxで確認して,編集して,platexからdvipdfmxしようとすると失敗します.そのため,dvipdfmx前にpdfを閉じる必要があります.従来ではpdfopen/pdfcloseを利用して実現できていましたが,Reader XとDDE通信ができず,pdfファイルを開いたり閉じたりできなくなっていて,「むぎゃ!」ってなります.論文を書く気力が8割減です.

関係する情報

推奨される対策

Adobe Reader 9を使い続ける.

201011281415追記:

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…

Home > タグ > pdf

アフィリエイト

Return to page top