PDFが正常に表示されないことをハンドリングするには - Printable Version +- Curl Global Community (https://communities.curl.com) +-- Forum: Discussions (https://communities.curl.com/forumdisplay.php?fid=1) +--- Forum: General Curl questions (https://communities.curl.com/forumdisplay.php?fid=2) +--- Thread: PDFが正常に表示されないことをハンドリングするには (/showthread.php?tid=1044) |
PDFが正常に表示されないことをハンドリングするには - umemura - 02-28-2014 Curl で EmbeddedBrowserGraphic を利用して、 PDFなど、外部アプリケーションを利用するページを表示しようとした場合、 必要なランタイムがインストールされていないと、エラーになると思います。 これをCurl側で検知することは出来ますか。 RE: PDFが正常に表示されないことをハンドリングするには - umemura - 02-28-2014 EmbeddedBrowserEvent というイベントでハンドリングできるみたい。 Code: {import * from CURL.GUI.EMBEDDED-BROWSER} RE: PDFが正常に表示されないことをハンドリングするには - wbardwell - 02-28-2014 EmbeddedBrowserGraphic is hosting the ActiveX control that is pretty much the same as Internet Explorer (It hosts "Shell.Explorer"). I would expect PDFs to display if they work in Internet Explorer on the same machine. But that means that a PDF displaying ActiveX must be installed. If your applet can run privileged, you could directly host a PDF displaying ActiveX using ActiveXGraphic. RE: PDFが正常に表示されないことをハンドリングするには - umemura - 02-28-2014 Hi, wbardwell I could not look up ClsId or PrgId of Adobe Reader. :'-( Please tell me if you know those. RE: PDFが正常に表示されないことをハンドリングするには - wbardwell - 03-04-2014 Any recent version can use AcroPDF.PDF or AcroPDF.PDF.1 as the ProgID for the PDF viewer. See: http://livedocs.adobe.com/acrobat_sdk/9.1/Acrobat9_1_HTMLHelp/IAC_API_OLE_Objects.103.2.html But if that is installed, EmbeddedBrowserGraphic should also work. RE: PDFが正常に表示されないことをハンドリングするには - umemura - 03-06-2014 「PDF をブラウザに表示しない」という設定をすると、 Acrobat Reader がインストールされていても、 ActiveX オブジェクトの生成に失敗するようですね。 ■PDFファイルをWebブラウザで開かないようにする http://www.atmarkit.co.jp/fwin2k/win2ktips/545adobeweb/adobeweb.html wbardwell さんに教えてもらったページのほかのプログラムIDも このオプションがはずされ全部エラーになるので、 例外でハンドリングするしかなさそうですね。 Thank you for your infomation! There is a propery which Acorbat Reader inhibit Browser from showing PDF in itself. Initialize of ActiveXobject of "AcroPDF.PDF" is failed if the option is false. error is forrows アプレット [9-412] - 'AcroPDF.PDF' から ActiveX オブジェクトを初期化することが出来ませんでした。CoCreateInstance() は失敗しました: 0x80040154 クラスが登録されていません の為、例外ActiveXExceptionで停止 Win32XObj.xobj-connect - <デバッグ情報がありません> Win32XObj.from-prog-id (constructor) - <デバッグ情報がありません> Win32XObj.create (factory) - <デバッグ情報がありません> ActiveXObject.default (factory) - <デバッグ情報がありません> PDF表示.curl - [evaluator for <unnamed>][行番号: 199] EvalTopLevelEnv.finish-and-run-aux - <デバッグ情報がありません> EvalTopLevelEnv.finish-and-run - <デバッグ情報がありません> IncrementalEvaluatorFile.evaluate-next - <デバッグ情報がありません> IncrementalEvaluator.evaluate-next - <デバッグ情報がありません> Applet.load-next-aux - <デバッグ情報がありません> Applet.load-next - <デバッグ情報がありません> [{proc} inside Applet.load-start] - <デバッグ情報がありません> closure_raw_handler - <デバッグ情報がありません> AlarmQueue.dispatch-alarms - <デバッグ情報がありません> EventQueue.dispatch-events - <デバッグ情報がありません> dispatch-events - <デバッグ情報がありません> run-applet - <デバッグ情報がありません> ProcessRunnable.run-bound-proc - <デバッグ情報がありません> RE: PDFが正常に表示されないことをハンドリングするには - wbardwell - 03-17-2014 That error means that it couldn't find something with that class id, maybe you only have the 64-bit version installed, and the Curl RTE is 32bit. You could check what you find in regedit for that name. |