首页 > 解决方案 > 打印和 Blazor

问题描述

我有一个Blazor连接到现有后端的应用程序。Blazor 应用需要从List<T>. 这样做的正确方法是什么?

但是,在 WPF 世界中,我会使用 a DocumentPaginator,因为DocumentPaginator GetPage方法返回 a DocumentPage,它是一个 WPFVisual元素,这已经过时了。

我有一些运气创造了这样的FlowDocument东西:

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++;
}

但是,这会打印出一个文档,我需要页眉和页脚。放置页眉、页脚和分页符可以使用Paragraph并且Section非常简单。问题是计算何时应用分页符。我所看到的在 FlowDocument 中找出某些东西的高度的所有东西都使用 aFrameworkElement来找到它。

对网络非常陌生,所以如果有一些简单的解决方案,我很抱歉问。

标签: c#blazorflowdocument

解决方案


与 TossNet 结合生成可用于Append.Blazor.Printing显示打印对话框的 .pdf 文件。

可以在此处找到存储库:https ://github.com/Append-IT/Blazor.Printing

在此处输入图像描述


推荐阅读