ホームページ >バックエンド開発 >C++ >ユーザーの操作なしで特定のプリンターへの PDF 印刷を自動化するにはどうすればよいですか?

ユーザーの操作なしで特定のプリンターへの PDF 印刷を自動化するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-23 22:13:09151ブラウズ

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

Google Pdfium ライブラリを使用して PDF ファイルの自動印刷を実現します

質問:

デスクトップ アプリケーションで生成された PDF ファイルは印刷する必要があります。ユーザーの介入なしにこれらのファイルをプリンターに直接送信するにはどうすればよいですか?

解決策:

Google Pdfium ライブラリ (PdfiumViewer という名前の .NET パッケージ) は、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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。