C# 印刷和Blazor

C# 印刷和Blazor,c#,blazor,flowdocument,C#,Blazor,Flowdocument,我有一个连接到现有后端的Blazor应用程序。Blazor应用程序需要打印列表中的数据。这样做的正确方法是什么 在WPF世界中,我会使用DocumentPaginator,但是,因为DocumentPaginatorGetPage方法返回一个DocumentPage元素,这是一个WPF可视的元素,这是不存在的 我有幸创建了一个类似这样的流程文档: var doc = new FlowDocument(); var table1 = new Table(); doc.Blocks.Add(tabl

我有一个连接到现有后端的
Blazor
应用程序。Blazor应用程序需要打印
列表中的数据。这样做的正确方法是什么

在WPF世界中,我会使用
DocumentPaginator
,但是,因为
DocumentPaginator
GetPage
方法返回一个
DocumentPage
元素,这是一个WPF
可视的
元素,这是不存在的

我有幸创建了一个类似这样的
流程文档

var doc = new FlowDocument();
var table1 = new Table();
doc.Blocks.Add(table1);
for (int x = 0; x < numberOfFields; x++)
{
    table1.Columns.Add(new TableColumn());
}
table1.RowGroups.Add(new TableRowGroup());
int i = 0;
foreach (var x in MyList)
{
    table1.RowGroups[0].Rows.Add(new TableRow());   
    TableRow currentRow = table1.RowGroups[0].Rows[i];
    AddFields(currentRow, i, x);
    i++;
}
var doc=new FlowDocument();
var table1=新表();
文件块添加(表1);
对于(int x=0;x
这会打印出一个文档,但是,我需要页眉和页脚。放置页眉、页脚和分页符可以通过
段落
章节
来完成,这非常简单。问题是计算何时应用分页符。我在FlowDocument中所看到的查找某个内容高度的一切都使用
FrameworkElement
来查找它


对于web来说非常陌生,因此如果有一些简单的解决方案,我很抱歉询问。

结合TossNet生成.pdf文件,您可以使用
Append.Blazor.Printing
显示打印对话框

博客帖子可在此处找到:


结合TossNet生成.pdf文件,您可以使用
Append.Blazor.Printing
显示打印对话框

博客帖子可在此处找到:


你确定这是一个Blazor问题吗?也许可以创建一个pdf。我做了一个关于这个的小教程:使用FlowDocument模型只是做额外的工作。你可以用HTML和blazor组成一个页面,这是一个更加丰富的工具包。最终,您将不得不使用CSS完成分页。更多信息,请参见和goole。你确定这是一个Blazor问题吗?也许可以创建一个pdf。我做了一个关于这个的小教程:使用FlowDocument模型只是做额外的工作。你可以用HTML和blazor组成一个页面,这是一个更加丰富的工具包。最终,您将不得不使用CSS完成分页。更多信息,请参见和谷歌。