15

標準の WPF コントロールにレポートを実装し、DocumentPaginatorこれらのコントロールを取得して印刷用のドキュメントに変換する も実装しました。

また、ドキュメント ページネーターを使用してページを画像にレンダリングし、 PDFSharpを使用して PDF に書き出すコードも実装しましたが、これではコピーと貼り付けができず、画像の品質にも問題があります。

私はGhostXPSユーティリティを試してみましたが、XPS ドキュメントに保存してから、GhostXPSを使用してそれを PDF に変換することで使用することを考えていました。これは有望でしたが、現在のバージョンには、生成された PDF からコピーされたデータをレンダリングするバグが含まれています。使い物にならない...

だから私はここでこれを行うための効率的な方法を試して見つけるように頼むと思ったDocumentPaginator.この機能を備えたPDFに?

ありがとう、アレックス。

編集 - PDFSharp の修正: ここで要求されたとおり、PDFSharp 1.31 XPS コンバーターの修正をコンパイルするために行ったことは次のとおりです。

1)ここからソースをダウンロードしました:

PDFSharp-SourceForge

2) この投稿の指示に従いました。

PSFSharp Fix

XpsParser.ImageBrush.cs (ln 22, added): brush.Opacity = 1;
PdfContentWriter.cs (ln 526, changed): if (opacity <= 1)

3)次に、ソースをコンパイルし、最初に「PdfSharp-WPF.csproj」を開いてビルドし、次に「PdfSharp.Xps.csproj」を開いてビルドします。関連するライブラリは「PdfSharp-WPF.dll」であり、 「PdfSharp.Xps.dll」

ソースをビルドしようとすると、ターゲットにしている .NET のバージョンに応じていくつかのエラーが発生する可能性があることに注意してください。これらは、エラー メッセージを読むだけで簡単に修正できます。

編集 (2): NJones は、PdfSharp の修正に関する詳細を記載したブログ投稿を作成しました: WPF で PDF に出力

4

4 に答える 4

14

PDFsharp1.31に含まれているXPSコンバーターがあります。これはベータ版ですが、AFAIKはほぼすべてをサポートしており、ニーズに合わせて機能する可能性があります。

PDFsharp 1.31は、SourceForgeまたはCodePlexからダウンロードできます。

于 2012-12-21T08:05:59.530 に答える
3

商用 SDK がオプションである場合、専門的な XPS から PDF への変換オプション (およびそれ以上) を提供している会社が 1 つあります。

http://www.nixps.com

警告: 私はこの会社と提携しておらず、彼らの製品を試したこともありません. 一方で、私は彼らについて良いことを聞いています。

于 2012-12-22T09:18:31.167 に答える
1

私はTelerikReportingを使用しています。これは、ドキュメントのページ付けを処理し、GUIの作成と同様にデザイナーでレポートを作成できるようにします。自分のページネーターなどを作成するために開発時間を費やしたくなかったので、サードパーティ製品を購入することにしました。また、このツールは、カスタムソリューションよりもバグが少ない可能性があり、希望する方法に多くの柔軟性があります。印刷物/レポートをデザインします。将来、より複雑な印刷やレポートが必要になった場合、このツールはさらに多くのことを実行します。Telerikでは働いていませんが、良い商品があります。

PDF、Word、Excel、HTML、PowerPoint、PNGなどにエクスポートできます。

于 2012-12-23T20:08:59.420 に答える
1

私の考えでは、XPS は、特に変換のために、データを使用可能な形式にシリアル化する最も簡単な方法です。

サード パーティのツールについては、 CheckPrixaを使用してある程度の成功を収めた同僚 (私自身ではなく) がいます。これはフリーウェアで、コマンド ライン変換を提供します。(つまり、ドキュメントをシリアル化し、生成された .bat ファイルを変換します。)

また、ページネーションなどのより重要なアイテムとともに、キーワード、タイトルなどを処理することもできます。

私の知る限り、既知の不一致はありません。

または、MSXPS の変換が問題の原因である場合は、 XpsConverter を参照してください。MSXPS をOpenXPSに変換します。Windows のドライバーとして、.NET 3 以降を使用する任意のマシンで使用できます。

どのようなソリューションを試しても最新情報を入手してください。仮想レポートは成長している取引です。

于 2012-12-24T01:11:30.247 に答える