標準の WPF コントロールにレポートを実装し、DocumentPaginator
これらのコントロールを取得して印刷用のドキュメントに変換する も実装しました。
また、ドキュメント ページネーターを使用してページを画像にレンダリングし、 PDFSharpを使用して PDF に書き出すコードも実装しましたが、これではコピーと貼り付けができず、画像の品質にも問題があります。
私はGhostXPSユーティリティを試してみましたが、XPS ドキュメントに保存してから、GhostXPSを使用してそれを PDF に変換することで使用することを考えていました。これは有望でしたが、現在のバージョンには、生成された PDF からコピーされたデータをレンダリングするバグが含まれています。使い物にならない...
だから私はここでこれを行うための効率的な方法を試して見つけるように頼むと思ったDocumentPaginator
.この機能を備えたPDFに?
ありがとう、アレックス。
編集 - PDFSharp の修正: ここで要求されたとおり、PDFSharp 1.31 XPS コンバーターの修正をコンパイルするために行ったことは次のとおりです。
1)ここからソースをダウンロードしました:
2) この投稿の指示に従いました。
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 に出力