問題タブ [documentpage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - 既定のコンストラクターなしで XamlWriter を使用して WPF コンポーネントをシリアル化する
私の例では、 aと aFixedDocument
を使用して、wpf コンポーネントをシリアル化できることがわかりました。XamlWriter
MemoryStream
そして、それを取り戻すには:
ただし、今は a もシリアル化できる必要がありDocumentPage
ます。XamlReader.Load
呼び出しで例外をスローさせるデフォルトのコンストラクターがありません。
デフォルトのコンストラクターなしで wpf コンポーネントをシリアル化する方法はありますか?
wpf - バックグラウンド スレッドでの WPF コンポーネントの作成
私は報告システムに取り組んでおりDocumentPage
、DocumentPaginator
. これらのドキュメントには、インスタンス化される多くのWPF コンポーネントXpsDocumentWriter
が含まれているため、ページネーターは、後で(実際のプリンターに送信されます) に送信されるときに正しいものを含めます。
私の問題は、インスタンスの作成にかなりの時間がかかることです(Windowsがアプリケーションを凍結としてマークするのに十分です)ので、バックグラウンドスレッドDocumentPage
でインスタンスを作成しようとしました.WPFはそれらの属性がGUI スレッド。また、これまでに作成されたページ数を示すプログレス バーを表示したいと考えています。したがって、GUI上で2つのことを並行して起こそうとしているようです。
この問題は説明が難しく、どのように対処すればよいか本当にわかりません。要するに:
- 一連の
DocumentPag
e を作成します。- これらにはWPF コンポーネントが含まれます
- これらはバックグラウンド スレッドで作成するか、アプリケーションがフリーズしないように他のトリックを使用します。
- 各ページが作成された後、WPF ProgressBarを更新する必要があります。
これを行う適切な方法がない場合は、代替のソリューションとアプローチを歓迎します。
.net - WPF DocumentPaginator および DocumentPage の予期しないトリミング
複数のページに WPF キャンバスを印刷しようとしています。
ページ幅に収まるように拡大縮小してから、各ページのキャンバスをクリッピングして変換することに完全に満足しています。すべての非常に単純な数学。
私が理解していないのは、印刷可能領域の寸法を取得する方法と、印刷先をプリンターに伝える方法です。何を試しても、使用している値は用紙のサイズであるように見えるため、プリンターが用紙の端まで印刷できないため、トリミングが発生します。
機能には次のプロパティがあります。
「撮影可能」エリアとは?それは私がコンテンツを入れることができる紙の領域ですか?私はそう推測します:
しかし、下と右の余白はどうですか?この情報はどこにありますか?
PageSize
のプロパティを何DocumentPaginator
に設定する必要がありますか? これをから設定する必要がありcapabilities.PageImageableArea
ますか?または、dialog.Print()
関数がこれを設定していて、それから読み取る必要があるだけGetPage()
ですか?
最後に、 を返すとき、3 つのジオメトリ引数、およびDocumentPage
に何を渡しますか?pageSize
bleedBox
contentBox
ありがとう :)
wpf - WPF DocumentPaginator は、印刷ジョブが完了するまですべての DocumentPages をメモリに保持しますか?
WPF の DocumentPaginator に関する厳密に理論的な質問:
WPF DocumentPaginator クラスを使用して複数ページのドキュメントを印刷する場合、ページネータは、ドキュメントの印刷が完了するまで、印刷ジョブの履歴を介して要求されたすべての DocumentPages をメモリに保持しますか? それとも、印刷ジョブが終了する前に (つまり、メモリを解放するために) 不要になった DocumentPages を破棄しますか? 例外を発生させずに、印刷中に古い/不要な DocumentPages を解放するようにページネーターに手動で指示する方法はありますか?
このたびはご協力いただき、誠にありがとうございました。
c# - WPF で各 DocumentPage のコンテンツをページ番号で取得することは可能ですか?
DocumentPaginator を使用して FlowDocument のテキストをページに分割します。ComputePageCount() の後にページ番号で各ページのコンテンツを取得することは可能ですか? そうでない場合、どうすれば他の方法でそれを行うことができますか?
コード:
wpf - PageDocuments から FixedDocument を取得する方法
私はWPFで印刷に取り組んでいます。
クラスを継承するクラスを実装しDocumentPaginator
ます
仕事をするためのより多くのヘルパーメソッドがあります。
メソッドから返されたオブジェクトを使用して、プロパティFixedDocument
から返すオブジェクトを作成したいと考えています。Source
DocumentPage
GetPage
FixedDocument
印刷前にファイルにプレビューを作成したいので、ソース プロパティから返される必要があります。
プレビューアはDocumentViewer
オブジェクトがReportPreviewerWindow
wpf - WPF DocumentPaginator: DocumentPage のサイズを横向きに変更
DocumentPaginator を A4 横向き形式 (Size(96 * 11, 96 * 8.5)) で使用して、WPF ウィンドウを PDF ファイル (Microsoft Print to pdf) として印刷しようとしましたが、常に A4 縦向き形式で取得します。(DocumentPaginator については、ここで説明されている方法を使用します: WPF - ビジュアルを印刷するときのページネーション)
障害はどこにありますか?フォーマットの問題がない限り、完璧に動作します。DocumentPage.Size プロパティのドキュメントに記載されているように、DocumentPage のサイズを変更するにはどうすればよいですか?
XAML:
C#: