【问题标题】:set print option on printing a document在打印文档时设置打印选项
【发布时间】:2014-01-15 21:49:20
【问题描述】:

我想在我的打印作业中设置我的设置。 例如,我想在 1 张 A4 纸上打印 4 页 pdf 文件。 我该怎么做?

这是我打印 pdf 文件的代码:

    private void SendToPrinter()
    {
        OpenFileDialog ofd = new OpenFileDialog();

        if (ofd.ShowDialog() == DialogResult.OK)
        {
            ProcessStartInfo info = new ProcessStartInfo();
            info.Verb = "print";
            info.FileName = ofd.FileName;
            info.CreateNoWindow = true;
            info.WindowStyle = ProcessWindowStyle.Hidden;

            Process p = new Process();
            p.StartInfo = info;
            p.Start();

            p.WaitForInputIdle();
            System.Threading.Thread.Sleep(3000);
            if (false == p.CloseMainWindow())
                p.Kill();
        }
    }

【问题讨论】:

  • 不能在通过代码打印之前直接设置吗?或者您是否需要根据某些标准更改设置?
  • 您似乎正在启动一个单独的打印过程。在这种情况下,您运行代码的代码将成为一个单独的进程,因此除非有命令行参数,否则不要认为会有简单的方法

标签: c# pdf printing


【解决方案1】:

你不能使用info.Verb = "print" 来做到这一点。通过将Verb 设置为print,您基本上是在使用Windows shell 命令print,它接受两个参数,文件名和打印机设备名称。

如果您想打印具有特定打印设置的 pdf 文件,您必须使用可以使用命令行参数打印 pdf 的第三方软件(如 Ghostscript)。有关详细信息,请参阅this 文章。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-20
    • 2010-11-08
    • 1970-01-01
    • 2012-04-01
    • 2011-09-14
    • 1970-01-01
    • 2014-07-04
    • 1970-01-01
    相关资源
    最近更新 更多