1

マップを含む PDF ドキュメントがいくつかあります。これらのうちどれが最適なオプションで、どのように実装できますか:

  1. PDF ファイルを起動してマップを表示します。ただし、Adobe Reader のインストールが必要になる可能性があるため、これはベスト プラクティスではないと思います (これについてはわかりません)。
  2. 画像を画像に変換し、ScrollViewer 内に表示します。ただし、十分に高い解像度の画像に変換することはできません。これを行う場合、とにかくどの解像度を使用する必要がありますか?
  3. PDF を XAML に変換できることを理解しています。その後、ScrollViewer で XAML を直接表示できます。ただし、このプロセスは遅くて面倒であり、生成される XAML はかなり大規模になります。パフォーマンスがどうなるかはわかりません。
  4. 4 番目のオプションは、マップを XPS 形式に変換してから、ドキュメントを起動することです。これが機能するかどうか、また XPS が広くサポートされているかどうかはわかりません。
4

2 に答える 2

4
  1. はい、このシナリオで .pdf ファイルを開くには、クライアントに PDF リーダーがインストールされ、デフォルトで設定されている必要があります。このようにしたい場合は、Process.Start(pdfFilePath)を使用してください。ユーザーが pdf に関連付けられたアプリケーションを持っていない場合、これは例外をスローします。代わりに "Open with" ダイアログを表示したい場合は、ProcessStartInfo.ErrorDialog を使用してください。

  2. これはおそらく最良の選択肢です。PDF を適切な解像度の画像にレンダリングする必要があります。そのため、PDF ライブラリが必要です。C# を使用していると思いますので、PdfSharp または ITextSharp を使用できますが、商用アプリで使用する場合、ITextSharp は有料であることに注意してください。解像度に関する要件はわかりませんが、ユーザーの画面解像度を取得して決定することができます。
    PDF のラスタライズが必要です。http://code.google.com/p/lib-pdfまたはhttp://stefanochizzolini.it/en/projects/clownを確認してください。

  3. 私の知る限り、これを自動モードで行うことは不可能です。PDF は非常に複雑なフォーマットであり、非常識な書式設定が可能であり、他の形式で再現するのは困難です。pdf から xaml を生成する方法はありますが、この変換後に xaml の問題を修正するために手作業が必要になるため、これはマップのレンダリングに必要なものではないと思います。

于 2012-09-24T08:25:32.883 に答える
1

さらに調査した後。最適なオプションは、PDF を XPS 形式に変換することです。次に、これらのファイルを起動します。すべての Windows 8 インストールには XPS ビューアーが組み込まれています。これの主な利点は、任意の画面解像度をサポートし、実装が非常に簡単であることです。

于 2012-09-25T07:57:29.433 に答える