【发布时间】:2021-03-27 23:27:37
【问题描述】:
我正在使用 C# 生成一个有很多结果的窗口(滚动条):Window ResultsWindow = new Window();
在底部,有两个按钮,即取消和打印。第一个做它应该做的。尽管如此,打印按钮应该以某种方式将窗口转换为 PDF 文件,或者可能是用户可以在之后保存它的中间步骤。
private void Print_click(object sender, RoutedEventArgs e)
{
//add code to print the whole window??
ResultsWindow.Close();
}
你们中有人知道这是如何工作的吗?
最好的问候
【问题讨论】:
-
这个窗口到底是什么?也许您真的想保存正在显示的数据,而不是窗口本身? .NET 中有一些库可以生成 PDF 文件并允许您将数据插入其中。但是,如果您真的想要一个屏幕截图,那就另当别论了(尽管您提到了滚动条,所以屏幕截图可能不是很有用?)
-
嗨,是的,其中的数据具有各自的颜色和格式。您指的是哪些库?
-
有几个 .net 库作为 nuget 包提供,可用于生成 PDF。有些是免费的,有些不是。您需要在网上进行一些简单的搜索,看看是否能找到适合您情况的内容。
-
注:如果您使用了颜色和格式,那是 UI 的一部分,而不是数据的一部分。因此,要制作不带屏幕截图的等效 PDF,您可能需要类似的逻辑来格式化 PDF 文档中与屏幕输出等效的数据。附言你没说这是 WinForms 还是 WPF 还是别的什么?
-
好的,抱歉,我从哪里得到这个?我假设它是 WinForms,在标题中有: using System.Windows;使用 System.Windows.Controls;使用 System.Windows.Media;我也可以将输出保存为字符串或其他内容并将其保存为格式;或截屏输出窗口。是否可以截取一个窗口,即它的顶部,然后使用滚动条并截取底部?
标签: c# wpf windows pdf resultset