窗口上的信息很多,估计要分好几页保存,在谷歌搜了说可以用pdfsharp,但是不会用
还有没有其他的方法,有具体的例子也好,谢谢大家。。
C#Winform怎么把窗口上的信息生成PDF文件???
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
你知我知皆知 2024-08-02 03:44关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
在.NET Framework中,你可以使用
System.Drawing.Printing命名空间中的类来打印到PDF文件。以下是一个简单的示例,展示了如何将一个控件的文本内容转换为PDF。using System; using System.Drawing; using System.Windows.Forms; namespace PDFPrinter { class Program { static void Main(string[] args) { // 创建一个新的控制对象 Control control = new Form(); // 获取文本框控件 TextBox textBox = (TextBox)control.Controls[0]; // 将文本框的内容设置为PDF文档的标题 textBox.Text = "Hello World!"; // 创建一个新的PDF文档并将其写入内存 using (MemoryStream ms = new MemoryStream()) { // 创建一个新的打印机流 using (var printerStream = new PrintDocument().OpenPrintDialog()) { // 设置打印机流的输出格式为PDF printerStream.PrinterSettings.PrinterName = "Your Printer Name"; printerStream.PrintPage += new PrintPageEventHandler(PrintPage); // 打印PDF文档 printerStream.Print(); } // 将内存中的数据写入到PDF文档中 ms.Write(control.ClientRectangle.Width * 100 + 25, control.ClientRectangle.Height - 30, ms); } } private static void PrintPage(object sender, PrintPageEventArgs e) { // 在这里可以添加你的页面样式和布局 e.Graphics.DrawString("This is a sample page.", new SolidBrush(Color.Black), new Font("Arial", 14f), new Rectangle(100, 100)); } } }这个程序创建了一个新的控制,并设置了它的文本框控件的内容为"Hello World!"。然后它打开了一个打印机对话框,选择了一个名为"Your Printer Name"的打印机。最后,它将文本框的内容写入到PDF文档中。
注意:这个程序只是一个基本的示例,你可能需要根据你的具体需求进行修改。例如,你可能需要添加更多的页面样式和布局,或者处理更复杂的输入。
解决 无用评论 打赏 举报