2

.PDF ファイルの生成に使用するネイティブのスタンドアロン Win32 アプリケーションがあります。データ ファイルの 1 つを取り込んで PDF ファイルを生成するコマンド ライン駆動です。パソコンにインストールされているプリンタードライバーと連動します。

Azure で使用できる .NET で PDF ファイルを生成するためのライブラリがあることは知っていますが、サポートする必要がある特定の型のレイアウトがアプリで実行されており、そのロジックはまだサーバー側にありません。これは、20 年前のタイプ レイアウト エンジンを C/C++ から移植 (または書き換え) する前の短期的なチートです。ここには、非常に複雑なコードがたくさんあります。

Azure でネイティブ アプリを実行できるようになりました (yay)。ただし、私の問題は、このネイティブ アプリケーションには印刷ドライバーがインストールされている必要があるようです。Azure ワーカー ロールへの印刷ドライバーのインストールに関する情報を見つけることができませんでした。

このディスカッションを見つけました: https://stackoverflow.com/questions/9125385/printing-to-pdf-from-azure-worker-role。これの最終結果は、Azure で PDF ライブラリを使用することであり、これは私たちにとってうまくいくものではありません。

また、誰かが私たちの Web サイトでデータ ファイルをプレビューしようとするたびに、PDF ファイルを生成するプロセスを開始することは、サーバーの最適な使用法ではないことも承知しています。ユーザーがブラウザーで独自のデータ形式をプレビューしたいときに、PDF を表示することでごまかすことを計画しています。これはプロジェクトのフェーズ 1 であり、C# で 20 年前のタイプ レイアウト エンジンを書き直すにはかなりの時間がかかります。これ (認められたハック) については短期的に (より大きな意味で) 話しています。測定。

Windows Azure ワーカー ロールに印刷ドライバーをインストールするにはどうすればよいですか? 出来ますか?他のオプションはありますか?

どうもありがとう。

4

2 に答える 2

2

ymsが言及したAmyuniソフトウェアのコマンドラインサイレントインストールを実行できる場合は、おそらく昇格された権限を使用して、ワーカーロールのスタートアップタスクの一部としてそれを実行できます。人々はスタートアップ タスクを使用してあらゆる種類のことを行い、多くの人がスタートアップ タスクについてのブログ投稿を書いたり、 SOで質問に答えたりしていますが、開始するのに適した場所は公式ドキュメントです。

于 2012-08-01T20:56:45.763 に答える
1

これは役立つ場合があります。AmyuniPDFConverterは、COMインターフェイスおよびネットとして公開されたAPIを備えたPDFプリンタードライバーです。プログラムでドライバーをサイレントインストールおよびアンインストールできるアセンブリ。これは、アプリケーションのメソッドPDFDriverInitおよびDriverEndを使用し実行できます。

アプリケーションがドライバーをインストールしたら、メモリストリームを宛先として使用してPDFに印刷し、Microsoft AzureBlobStorageにアップロードできます

AmyuniPDFConverterをインストールする方法は2つあります。

1-パッケージに付属のインストールプログラムを使用します。
2- dllファイルを対応するフォルダーにコピーしてから、メソッドDriverInitを呼び出します。

完全なプロセスはここで説明されています: AmyuniDocumentConverterの開発者バージョンの使用

特定のシナリオについて、Amyuni PDF Converterを使用するアプリケーションがある場合は、実際にそれと一緒にインストールする必要のあるプリンタードライバーがあります。アプリケーションは、起動するたびにドライバーをインストールし、閉じたときにドライバーを削除する場合もあれば、プログラムのインストール中にのみドライバーをインストールする場合もあります。

このアプリケーションのソースコードがなくても、Amyuniが提供するライブラリのライセンス情報がある場合は、インストールプロセスを処理するだけの小さなアプリケーションまたはバッチスクリプトを作成してみてください。使用しているバージョンの最新ビルドへのリンクについては、Amyuniサポートにお問い合わせください。

Windows Azure VMを使用しているとのことですが、仮想システムの管理者権限があり、リモートデスクトップを使用して仮想システムに接続し、あらゆる種類のアプリケーションを実行できると想定しています。

通常の免責事項が適用されます

于 2012-08-01T17:41:42.247 に答える