2009-04-08 3 views
1

私の質問は"How can I programmaticly open a pdf at a certain point?"に似ていますが、PDFはローカルであり、Webサーバーではありません。ローカルpdfのページにジャンプする方法?

ユーザーのコンピュータにあるPDFの特定のページにジャンプする方法が必要です。これは、Acrobatの各バージョン(またはFoxit Readerなどの代替PDFビューアを使用)で機能します。 PDFは(そう、クロスプラットフォームは必須ではありません、それはWindowsでのみ使用されている)は、Javaアプリケーションから呼び出されることになるだろう、と今ではで動作します。もちろんこの場合にのみ動作します

int pageNum = 24; 
String manualPath = "C:\\Program Files\\Foo\\Bar\\Docs\\RefMan.pdf"; 
String acrordPath = "C:\\Program Files\\Adobe\\Reader 8.0\\Reader\\AcroRd32.exe"; 
String cmdString = "\"" + acrordPath + \" /A \"page=" + pageNum + 
    "=OpenActions\" \"" + manualPath + \""; 
Process p = Runtime.getRuntime().exec(cmdString); 

エンドユーザーは32ビット版Acrobat 8​​を使用しており、デフォルトの場所にインストールしています。私は次の使用してみました:

rundll32 url.dll,FileProtocolHandler file:///C:/Program%20Files/Foo/Bar/Docs/RefMan.pdf#page=24 

これは、ユーザーのブラウザを開き、そのページにジャンプしますが、それは単にだから私はstumppedだページ1

を、Acrobatを開き、助けを求めるだろうと思って。

答えて

0

私は、HKLM \ SOFTWAREの\クラスからコマンドラインを取得\ AcroExch、reg.exeを呼び出し、そのAcroExchクラスかどうかを確認するためにHKLM \ SOFTWARE \ Classes.pdfからの出力を解析するためにthis codeを使用してこれを実装することになりました.Document \ Shell \ Open \ Command。

そのハッキーですが、動作します。

関連する問題