gpt4 book ai didi

c# - WPF:打印 FlowDocument

转载 作者:行者123 更新时间:2023-11-30 18:10:03 33 4
gpt4 key购买 nike

我正在尝试获取要打印的 FlowDocument。在花了一天的大部分时间尝试多个页面后,我失败了并选择了更简单的方法,但我现在无法解释何时文本未输出到页面。我想这一定是我雪盲了。下面有两个表,在两个表上放置一个转换器表明正在通过 FlowDocument 的 DataContext 填充值。

<Table>
<Table.Columns>
<TableColumn Width="Auto"/>
<TableColumn Width="34"/>
<TableColumn Width="Auto"/>
</Table.Columns>
<TableRowGroup>
<TableRow>
<TableCell>
<Paragraph>
<Image Source="{Binding Icon,Converter={StaticResource IconConverter},ConverterParameter=32}" Width="32" Height="32"/>
</Paragraph>
</TableCell>
<TableCell>
<Paragraph>
<TextBlock Text="{Binding Name,Converter={StaticResource dbg}}" TextWrapping="Wrap" TextTrimming="CharacterEllipsis" VerticalAlignment="Center" FontSize="18" Foreground="Black" />
</Paragraph>
</TableCell>
<TableCell>
<Paragraph>
<TextBlock Text="Static text works fine" TextAlignment="Right" />
<TextBlock Text="Static text works here too fine" TextAlignment="Right" />
</Paragraph>
</TableCell>
</TableRow>
</TableRowGroup>
</Table>
<BlockUIContainer>
<Line Stretch="Fill" Stroke="DarkBlue" X2="1"/>
</BlockUIContainer>

文档打印使用:

PrintDialog dlg = new PrintDialog();
if(dlg.ShowDialog() == true) {
int margin = 5;
Size pageSize = new Size(dlg.PrintableAreaWidth - margin * 2, dlg.PrintableAreaHeight - margin * 2);
FlowDocument document = WPFUtils.LoadFlowDocument(System.IO.Path.Combine(Utils.GetApplicationPath(), "AccountPrintView.xaml"), account); // loads the document from a XAML file
IDocumentPaginatorSource paginator = document as IDocumentPaginatorSource;
paginator.DocumentPaginator.PageSize = pageSize;
dlg.PrintDocument(paginator.DocumentPaginator, "Print output");
}

我对此有点束手无策,我看不出问题所在。如果有人能提供一些帮助,我将不胜感激。

最佳答案

这本身并不是真正的答案,但您可以使用 FlowDocumentReader 吗?它已经在 Ctrl-P 上预先连接了打印内容(并公开了一个“打印”方法)......也就是说,你可以试试这个:Printing a Windows Foundation Presentation FlowDocument

关于c# - WPF:打印 FlowDocument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1981585/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com