- - PR -
activePDFのPDFPrintを自作する?
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-08-23 13:39
いつもお世話になっています。
エクセルソフトが提供しているactivePDFのPDFPrintもどきを自前で 作成できないかと悩んでいるところです。 全体の動きとしましては、 Webページを表示し、ローカルのプリンタで印刷、その後Webページを移動 となります。 現在までの進捗を書きたいと思います。 @TestPrintClsというプロジェクトを作成する。 AUserControl(windowsフォーム)をPrintControlという名前で作成する。 このUserControlでは、印刷したいPDFURLを設定するプロパティと 印刷実行をするメソッド(PrintAll)をPublicで作成する。 BUserControlの画面デザインにAxAcroPDFLib.AxAcroPDF(acroPDF)のオブジェクトを配置 する。 これは、C:\\\\\\\\Program Files\\\\\\\\Adobe\\\\\\\\Acrobat 7.0\\\\\\\\ActiveXにあるAcroPDF.dllを 使用する。 C印刷実行をするメソッド(PrintAll)に印刷命令を記述する。 acroPDF.src = "http://****.pdf"(プロパティより取得したPDFURLを設定) acroPDF.PrintAll Dプロジェクトのプロパティの構成プロパティ→ビルドにて COMの相互運用機能に登録するにチェックをつけ、出力パスに Webページが格納されているフォルダを指定し、ビルドする。 EWebページのHTMLのBODYタグに下記を記述する。 <BODY onload="PdfPrint()"> <OBJECT id="oPDF" style="WIDTH: 184px; HEIGHT: 128px" classid="http:TestPrintCls.dll#TestPrintCls.PrintControl" VIEWASTEXT> </OBJECT> </BODY> また、HEADタグに下記を記述する。 <SCRIPT language="VBScript"> <!-- Sub PdfPrint() oPDF.src = "http://****.pdf"(印刷対象のPDFURL) oPDF.PrintAll() End Sub --> </SCRIPT> FIEの設定よりWebページを信頼されているサイトに登録 G管理ツールのMicrosoft .NET Framework 1.1 構成より マイコンピュータ→ランタイム セキュリティ ポリシー→ コンピュータ→コードグループ→All_Code→Trusted_Zone を編集し、アクセス許可セットをFullTrustにする HWebページを表示する F、G、Hはローカル側です。 以上でサーバにおかれているWebページを表示すると ローカルのプリンタで該当のPDFを印刷することができました。 環境は WindowsXP VB.NET(2003) Microsoft .NET Framework 1.1 ASP.NET です。 ここからが、悩んでいるところなんですが、 PDFを印刷後、WebページのURLを違うURLに変え遷移させたいのですが やりかたがわからない状態です。 似たようなプログラムを作成したことは皆さんあるでしょうか? 長々と文章を記述して申し訳ございません。 |
|
投稿日時: 2006-08-24 12:20
ActiveXコントロールなら、イベントでやるのが一般的でしょう。
マネージコントロールでも出来るのか? サンプルを探してみました。 http://blogs.msdn.com/andrewdownum/archive/2006/01/26/ControlInBrowserEvents.aspx あるいは、マネージコントロール側に印刷状態プロパティを設けて、クライアントスクリプト側のタイマーでそのプロパティを監視するとか。 |
|
投稿日時: 2006-08-24 13:08
todoさん返信ありがとうございます。
クライアント側でもタイマーを設置して 状態を監視することができるのですね。 さっそく作りこんでみます。 |
1