是否可以在WPF中打印具有可重复表列标题的Flowdocument表
如何在WPF中打印具有可重复表列标题的Flowdocument表是否可以在WPF中打印具有可重复表列标题的Flowdocument表,wpf,printing,flowdocument,Wpf,Printing,Flowdocument,如何在WPF中打印具有可重复表列标题的Flowdocument表 我看到过这个[],但它不起作用。基本上你需要自己对文档进行分页,就像用word包装一段文本一样。检查下一行是否合适,如果不合适,则分页符,从表格标题开始每页,然后继续追加表格行,直到页面已满 不幸的是,没有一个分页者这样做。引用的CodeProject存在一些问题,但它几乎可以工作,我成功地进行了以下更改: 在GetPage中,只需删除引用控制台的四行 在定义类中添加 public static Size Subtract( Si
我看到过这个[],但它不起作用。基本上你需要自己对文档进行分页,就像用word包装一段文本一样。检查下一行是否合适,如果不合适,则分页符,从表格标题开始每页,然后继续追加表格行,直到页面已满
不幸的是,没有一个分页者这样做。引用的CodeProject存在一些问题,但它几乎可以工作,我成功地进行了以下更改: 在GetPage中,只需删除引用控制台的四行 在定义类中添加
public static Size Subtract( Size s1, Size s2 )
{
return new Size( s1.Width - s2.Width, s1.Height - s2.Height );
}
并更改内容大小以获得
return Subtract( PageSize, new Size(
Margins.Left + Margins.Right,
Margins.Top + Margins.Bottom + HeaderHeight + FooterHeight) );
然后,在您自己的代码中,单击按钮即可调用类似的内容:--我不喜欢他的类名:)
在我的例子中,我不需要页脚,但页眉委托(或类似的委托)是必须的。页边距和页面大小将默认,但我需要不同的值
最后,我发现我需要将KeepTogether=true
添加到表格单元格的段落定义中。试试这个:它支持页眉/页脚,并且有一些很好的特性。
祝你好运我还丢失了查看和打印之间的文本对齐设置:此链接中的建议修复了我:-并减少了我的代码。不幸的是,这根本没有任何作用。我想在
定义中添加RepeatTableHeaders=true
,但在我的表中没有重复的内容。
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" );
}