0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

.NETプログラムでC#を使ってWord文書を印刷する方法

Last updated at Posted at 2024-09-06

現代の高速な業務環境において、オフィスタスクの自動化のニーズはますます高まっています。その中でも、アプリケーションから直接ドキュメントを印刷するというニーズはよく見られるものです。C#を選択するプログラマーにとって、このような機能を実現することは挑戦であると同時にチャンスでもあります。本記事では、C#の強力な機能と利用可能なサードパーティライブラリを活用して、Wordドキュメントの印刷機能をシームレスに統合する方法を探ります。これにより、開発者はアプリケーション内でこのニーズを簡単に実現し、業務効率を向上させ、作業プロセスを簡素化できます。
.NETプロジェクトでC#を使ってWord文書を印刷する機能を実装する方法:

この記事で使用されている方法は、Spire.Doc for .NETが必要です。NuGet:PM> Install-Package Spire.Doc

無料ライセンス申請

C# で Word ドキュメントを印刷する

PrintDocument クラスを使用することで、プログラマーは特定のプリンターに Word ドキュメントを送信し、ページ範囲、印刷部数、両面印刷、用紙サイズなどの印刷設定を指定できます。Word ドキュメントを印刷するための手順は以下の通りです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • Document.PrintDocument プロパティを介して PrintDocument オブジェクトを取得します。
  • PrintDocument.PrinterSettings.PrinterName プロパティでプリンター名を指定します。
  • PrintDocument.PrinterSettings.FromPage および ToPage プロパティで印刷するページ範囲を指定します。
  • PrintDocument.PrinterSettings.Copies プロパティで印刷部数を指定します。
  • PrintDocument.Print() メソッドでドキュメントを印刷します。

コード例

using Spire.Doc;
using System.Drawing.Printing;

namespace PrintWordDocument
{
    class Program
    {
        static void Main(string[] args)
        {
            // ドキュメントオブジェクトを作成
            Document doc = new Document();

            // Wordドキュメントをロード
            doc.LoadFromFile("Sample.docx");

            // PrintDocumentオブジェクトを取得
            PrintDocument printDoc = doc.PrintDocument;

            // プリンタ名を指定
            printDoc.PrinterSettings.PrinterName = "HP Color LaserJet MFP";

            // 印刷するページ範囲を指定
            printDoc.PrinterSettings.FromPage = 1;
            printDoc.PrinterSettings.ToPage = 10;

            // 印刷するコピー数を設定
            printDoc.PrinterSettings.Copies = 1;

            // ドキュメントを印刷
            printDoc.Print();
        }
    }
}

C# で Word ドキュメントを静かに印刷する

静かな印刷(サイレントプリント)とは、印刷プロセスや印刷のステータスを表示しない印刷方法です。サイレント印刷を有効にするには、PrintControllerStandardPrintController に設定します。詳細な手順は以下の通りです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • Document.PrintDocument プロパティを介して PrintDocument オブジェクトを取得します。
  • PrintDocument.PrinterSettings.PrinterName プロパティでプリンター名を指定します。
  • PrintDocument.PrintController プロパティで PrintControllerStandardPrintController に設定します。
  • PrintDocument.Print() メソッドでドキュメントを印刷します。

コード例

using Spire.Doc;
using System.Drawing.Printing;

namespace SilentlyPrintWord
{
    class Program
    {
        static void Main(string[] args)
        {
            // ドキュメントオブジェクトを作成
            Document doc = new Document();

            // Wordドキュメントをロード
            doc.LoadFromFile("Sample.docx");

            // PrintDocumentオブジェクトを取得
            PrintDocument printDoc = doc.PrintDocument;

            // プリンタ名を指定
            printDoc.PrinterSettings.PrinterName = "HP Color LaserJet MFP";

            // 印刷コントローラーをStandardPrintControllerに指定
            printDoc.PrintController = new StandardPrintController();

            // ドキュメントを印刷
            printDoc.Print();
        }
    }
}

C# で Word ドキュメントを PDF に印刷する

物理的なプリンターで Word ドキュメントを印刷するだけでなく、Microsoft Print to PDFMicrosoft XPS Document Writer などの仮想プリンターを使用してドキュメントを印刷することもできます。Word を PDF に印刷する手順は以下の通りです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • Document.PrintDocument プロパティを介して PrintDocument オブジェクトを取得します。
  • PrintDocument.PrinterSettings.PrinterName プロパティで「Microsoft Print to PDF」を指定します。
  • PrintDocument.PrinterSettings.PrintFileName プロパティで出力ファイルのパスと名前を指定します。
  • PrintDocument.Print() メソッドでドキュメントを印刷します。

コード例

using Spire.Doc;
using System.Drawing.Printing;

namespace PrintWordToPdf
{
    class Program
    {
        static void Main(string[] args)
        {
            // ドキュメントオブジェクトを作成
            Document doc = new Document();

            // Wordドキュメントをロード
            doc.LoadFromFile("Sample.docx");

            // PrintDocumentオブジェクトを取得
            PrintDocument printDoc = doc.PrintDocument;

            // ドキュメントをファイルに印刷
            printDoc.PrinterSettings.PrintToFile = true;

            // プリンタ名を指定
            printDoc.PrinterSettings.PrinterName = "Microsoft Print to PDF";

            // 出力ファイルのパスと名前を指定
            printDoc.PrinterSettings.PrintFileName = "ToPDF.pdf";

            // ドキュメントを印刷
            printDoc.Print();
        }
    }
}

C# でカスタムサイズの用紙に Word ドキュメントを印刷する

印刷物が特定のサイズ要件を満たす必要がある場合や、特定の用途に合わせて印刷する必要がある場合、用紙サイズを設定することが重要です。カスタムサイズの用紙に Word を印刷する手順は以下の通りです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • Document.PrintDocument プロパティを介して PrintDocument オブジェクトを取得します。
  • PrintDocument.PrinterSettings.PrinterName プロパティでプリンター名を指定します。
  • PrintDocument.DefaultPageSettings.PaperSize プロパティで用紙サイズを指定します。
  • PrintDocument.Print() メソッドでドキュメントを印刷します。

コード例

using Spire.Doc;
using System.Drawing.Printing;

namespace PrintOnCustomSizedPaper
{
    class Program
    {
        static void Main(string[] args)
        {
            // ドキュメントオブジェクトを作成
            Document doc = new Document();

            // Wordドキュメントをロード
            doc.LoadFromFile("Sample.docx");

            // PrintDocumentオブジェクトを取得
            PrintDocument printDoc = doc.PrintDocument;

            // プリンタ名を指定
            printDoc.PrinterSettings.PrinterName = "HP Color LaserJet MFP";

            // 用紙サイズを指定
            printDoc.DefaultPageSettings.PaperSize = new PaperSize("custom", 500, 800);

            // ドキュメントを印刷
            printDoc.Print();
        }
    }
}

この記事では、.NETプログラムでC#を使ってWord文書を印刷する方法を紹介します。

Word文書操作のヒントについては、Spire.Doc for .NETチュートリアルをご覧ください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?