【问题标题】:Create a .csv file and then tell the printer to print the file创建一个 .csv 文件,然后告诉打印机打印该文件
【发布时间】:2013-05-16 19:56:20
【问题描述】:

所以我有一个程序,我可以用我的数据成功地创建一个 .csv 文件。
我现在必须以某种方式打印该文件。

我查找了很多关于在 WPF 中打印的资源,但它们都非常复杂,我无法弄清楚准系统打印语句是什么。

有没有办法让我只告诉应用程序采用特定的文件路径,然后打印文件的内容,就像我手动打开 .csv 文件并点击打印一样?

编辑:

另外,有人告诉我我可以这样做;截取我的屏幕截图(printscreen),然后告诉打印机从剪贴板打印图像。但这一切都必须在按下一个名为“打印”的按钮时完成。

更新:

对于我的第一个查询,我现在要做的是在按下打印按钮时打开 .csv 文件,然后使用 excel 的打印功能来获取我的打印输出及其工作。

但我希望它可以使用 printscreen 方法直接在应用程序中看到的内容。

【问题讨论】:

  • 您希望如何打印?通过 Excel?
  • 有很多应用程序已经打印了 CSV 文件;为什么它们都不适合你?

标签: wpf csv printing


【解决方案1】:

您可以将ProcessStartInfo 的“Verb”属性与Process.Start 一起使用,以使用与 CSV 文件关联的默认程序打开和打印 CSV 文件。您需要将“动词”设置为“print”。

using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
    class MyProcess
    {
        public static void Main()
        {
            Process myProcess = new Process();

            try
            {
                myProcess.StartInfo.UseShellExecute = true;
                myProcess.StartInfo.FileName = "C:\\myfile.csv";
                myProcess.StartInfo.CreateNoWindow = true;
                myProcess.StartInfo.Verb = "print";
                myProcess.Start();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}

【讨论】:

  • 有一个动词可以用来在打印之前扩展第一列吗?它现在正在打印,但第一列的宽度是固定的,并且整个名称在打印输出中不可读。
  • 常用动词包括“编辑”、“查找”、“打开”和“打印”。我不知道有任何动词会扩展第一列。
猜你喜欢
  • 2012-11-01
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-06
  • 2012-07-04
  • 2023-03-15
  • 1970-01-01
相关资源
最近更新 更多