c# - 在打印文档时设置打印选项

标签 c# pdf printing

我想在我的打印作业上设置我的设置。 例如,我想在一张 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();
        }
    }

最佳答案

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

如果您想打印具有特定打印设置的 pdf 文件,您必须使用第三方软件(如 Ghostscript),它可以使用命令行参数打印 pdf。参见 this文章了解更多信息。

关于c# - 在打印文档时设置打印选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20815324/

相关文章:

c# - 通过算法从用户 ID 生成唯一的随机好友代码

c# - 什么会导致 dictionary.ContainsKey(dictionary.Keys.First()) 返回 false?

c# - 如何使用 JsonConverter 在 System.Text.Json.JsonSerializer.Serialize() 中排除属性的序列化

php - 在 php/cakephp 中集成一个可编辑的 pdf

php - 我如何在 php 中从浏览器打印报告

c# - 使用 Entity Framework 跨层进行域模型设计

pdf - imagemagick将具有透明度的pdf转换为jpg

pdf - 将 Maven 站点软件文档转换为 PDF

java - 打印多维数组时出现问题

HTML 打印 - 有哪些方法可以制作基于 html 的打印输出?优缺点都有什么?