首页 > 后端开发 > C++ > 如何在没有用户交互的情况下自动将 PDF 打印到特定打印机?

如何在没有用户交互的情况下自动将 PDF 打印到特定打印机?

Mary-Kate Olsen
发布: 2025-01-23 22:13:09
原创
156 人浏览过

How Can I Automate PDF Printing to a Specific Printer Without User Interaction?

使用Google Pdfium库实现PDF文件自动打印

问题:

桌面应用程序生成的PDF文件需要打印。如何才能在无需用户干预的情况下直接将这些文件发送到打印机?

解决方案:

Google Pdfium库(.NET封装名为PdfiumViewer)提供了一种无缝打印PDF文档的解决方案。以下是分步指南:

1. 安装PdfiumViewer NuGet包:

在Visual Studio项目中,通过NuGet包管理器安装PdfiumViewer NuGet包。

2. 创建打印机设置:

构建PrinterSettings和PageSettings对象来定义目标打印机和纸张大小。

3. 加载PDF文档:

使用PdfDocument.Load(filename)加载要打印的PDF文件。

4. 创建打印文档:

使用document.CreatePrintDocument()生成PrintDocument对象,以将PDF文档与打印机设置连接起来。

5. 打印文档:

最后,执行printDocument.Print()启动打印过程。

实现示例:

以下代码片段演示如何静默打印PDF文件的多个副本:

<code class="language-csharp">public bool PrintPDF(string printer, string paperName, string filename, int copies)
{
    try
    {
        var printerSettings = new PrinterSettings
        {
            PrinterName = printer,
            Copies = (short)copies
        };

        var pageSettings = new PageSettings(printerSettings)
        {
            Margins = new Margins(0, 0, 0, 0)
        };

        foreach (PaperSize paperSize in printerSettings.PaperSizes)
        {
            if (paperSize.PaperName == paperName)
            {
                pageSettings.PaperSize = paperSize;
                break;
            }
        }

        using (var document = PdfDocument.Load(filename))
        {
            using (var printDocument = document.CreatePrintDocument())
            {
                printDocument.PrinterSettings = printerSettings;
                printDocument.DefaultPageSettings = pageSettings;
                printDocument.PrintController = new StandardPrintController();
                printDocument.Print();
            }
        }

        return true;
    }
    catch
    {
        return false;
    }
}</code>
登录后复制

以上是如何在没有用户交互的情况下自动将 PDF 打印到特定打印机?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板