如何在WPF中使用可重複的表列標題打印Flowdocument表?你能打印WPF中的可重複表列標題的Flowdocument表
我看過這個[http://www.codeproject.com/KB/WPF/PimpedDocumentPaginator.aspx],它不起作用。
如何在WPF中使用可重複的表列標題打印Flowdocument表?你能打印WPF中的可重複表列標題的Flowdocument表
我看過這個[http://www.codeproject.com/KB/WPF/PimpedDocumentPaginator.aspx],它不起作用。
您基本上需要自己對文檔進行分頁,這與您將文字換行爲文本的方式相同。檢查下一行是否合適,如果不合適則分頁,使用表頭將每頁關閉,並繼續附加錶行直到頁面已滿。
不幸的是沒有一個paginators這樣做。
有一些問題與引用CodeProject上,但它幾乎工程,我曾與以下更改成功:
在GETPAGE,只是刪除引用控制檯四大行。
在定義類添加
public static Size Subtract(Size s1, Size s2)
{
return new Size(s1.Width - s2.Width, s1.Height - s2.Height);
}
,改變ContentSize得到
return Subtract(PageSize, new Size(
Margins.Left + Margins.Right,
Margins.Top + Margins.Bottom + HeaderHeight + FooterHeight));
然後,在你自己的代碼,像這樣把它稱爲一個按鈕點擊: - 我沒有「T喜歡他的課名:)
PrintDialog printDialog = new PrintDialog();
printDialog.PrintTicket.PageOrientation = PageOrientation.Landscape;
if (true == printDialog.ShowDialog())
{
MyPaginator.Definition d = new MyPaginator.Definition
{
Header = (c, b, n) => c.DrawRectangle(Brushes.Black, null, b),
Margins = new Thickness(48), // 1/2 inch all around
PageSize = new Size(flowDocument.PageWidth, flowDocument.PageHeight),
};
DocumentPaginator s = new MyPaginator(flowDocument, d);
printDialog.PrintDocument(s, "Print Job Title");
}
在我而言,我並不需要一個頁腳,但頭委託(或索姆是這樣的)是必須的。頁邊距和頁面大小將默認,但我想要不同的值。
最後,我發現我需要將KeepTogether = true
添加到我的TableCells的段落定義中。
試試這個:WPF Reports
它支持頁眉/頁腳,並有一些不錯的功能。 祝你好運
我也失去了我的TextAlignment設置之間的查看和打印:在這個鏈接的建議固定我:[FlowDocument文本對齊](http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/a8a7b9af-2487-4041-af4d-68752d249b2b /) - 並減少了我的代碼。 – 2011-04-18 22:12:17