1
StackPanel
要素を含むFlowDocument
オブジェクトからページ付けされたドキュメントを生成したいとします。私はDocumentPaginator
を使ってみました。StackPanelを含むFlowDocumentのDocumentPaginatorを使用してページ区切り
これまで私はこのコードを試したことがありますが、私にとっては幸運はありません。つまり、切り捨てられたページが1つだけ生成されます。とその内容は垂直方向に半分に切断されます。。
// stackPanel contains elements that their total heights
// make the page should break into several pages.
StackPanel stackPanel = ...;
BlockUIContainer blockUiContainer = new BlockUIContainer(stackPanel);
FlowDocument flowDoc = new FlowDocument(blockUiContainer);
flowDoc.PageHeight = InchToPoint(paperSizeA4.Height); // paperSizeA4.Height: integer value
flowDoc.PageWidth = flowDoc.ColumnWidth = InchToPoint(paperSizeA4.Width); // paperSizeA4.Width: integer value
flowDoc.PagePadding = new Thickness(40);
DocumentPaginator docPaginator = ((IDocumentPaginatorSource)flowDoc).DocumentPaginator;
docPaginator.ComputePageCount();
私はPDFに文書を印刷するとき、これは私が前に言ったように、1ページのみ結果であり、その内容は半分縦ににカットされた(この画像では、文書が50%にズームされますアウト):
私は、ページ付けた作品を作るために何かが足りないのですか?それとも私は間違った方法で実装しましたか?