WPFアプリケーションで、カスタム生成されたFlowDocumentを印刷したいのですが、用紙の中央にページを配置するのに大きな問題があります。すべてのページは左上隅に配置されます。それでも、プリンタはそれに到達できません。ドキュメントの小さな部分が欠落しています。下部と右側には十分な空きスペースがあるため、ドキュメントを用紙に簡単に収めることができます。中央に配置されるとしたら!
PrintTicketまたはPaginatorの境界線/マージン/オフセットを設定する方法はありますか?
うまくいくものは何も見つかりませんでした。
これが私がすることです:
// selectedDocument is a FlowDocument
private const double PAGE_HEIGHT = 728;
private const double PAGE_WIDTH = 1024;
var paginator
= ((IDocumentPaginatorSource)this .selectedDocument).DocumentPaginator;
paginator.PageSize = new Size(PAGE_WIDTH, PAGE_HEIGHT);
printDialog.PrintTicket.PageOrientation
= System.Printing.PageOrientation.Landscape;
printDialog.PrintDocument(paginator, "Report");
さまざまなページサイズも試しましたが、違いはありません。
XpsSerializationManagerを介してFlowDocumentをXpsDocumentとして保存すると、作成されたファイルは完全に見えます。境界線と余白はすべてあるべき姿です。後のステップで、このファイルを使用してpdfファイルを作成します。次にpdf-Fileを印刷すると、紙の上でも問題なく表示されます。