フッターコンテンツにスキップ
IRONWORDの使用方法

C#でワードをPDFに変換する方法

ドキュメントをプログラムで変換することは、多くのアプリケーションで重要な機能になっています。 特にビジネスの世界では、Word ドキュメントを PDF ファイルに変換することは日常的な作業です。 幸いにも、C# と Microsoft Interop を使用すると、Word ファイルをシームレスに PDF に変換できます。 このチュートリアルでは、C#を使用してワードをプログラムでPDFに変換するプロセスを議論します。

前提条件

C# を使用して .DOCX を PDF に変換するコードに取り組む前に、必要な環境が設定されていることを確認することが重要です。 以下に必要な前提条件を示します。

Microsoft Word のインストール

コンピューターに Microsoft Word がインストールされていることを確認してください。 Interop サービスは、Word ドキュメントと PDF 変換を処理するために Word の組み込み機能を使用します。

Visual Studio

Visual Studio のバージョンは、C# プログラムの作成、コンパイル、および実行に必要です。 Visual Studio がまだない場合は、Microsoft の公式サイトから無償のコミュニティバージョンをダウンロードできます。

Microsoft.Office.Interop.Word パッケージのインストール

このパッケージは、C# プログラムが Word ドキュメントとやり取りするために必要な機能を提供するために不可欠です。 後で NuGet パッケージ マネージャーを使用してインストールされますが、変換プロセスにおけるその重要性を理解しておくとよいでしょう。

変換用の Word ドキュメント

変換したい Word ドキュメントまたは .docx ファイルを準備します。 C# プログラムで指定する必要があるため、そのファイルのパスを知っていることを確認してください。

十分な権限

Word ファイルを読み取り、結果の PDF ファイルを希望のディレクトリに書き込むことができることを確認してください。 Visual Studio を管理者として実行すると、権限に関連する問題を解決することがあります。

これらの前提条件を満たすことで、環境を設定し、Word ドキュメントを PDF ファイルに変換できるようになります。

環境のセットアップ

  1. Visual Studio を開きます。
  2. 新しい C# コンソール アプリケーションを作成します。
  3. NuGet パッケージ マネージャー > ソリューションの NuGet パッケージ管理 に移動します。
  4. "Microsoft.Office.Interop.Word" を検索してインストールします。 このパッケージは、私たちのアプリケーションが Word と通信して Word ファイルを変換できるようにします。

C# で Word を PDF に変換する方法: 図 1 - Visual Studio を開いて新しいコンソール アプリ プロジェクトを作成します。 ソリューションの NuGet パッケージ マネージャーに移動します。 Microsoft.Office.Interop.Word を検索してインストールします。 このパッケージは、私たちのコンソール アプリケーションが Word とやり取りし、Word ファイルも変換するのに役立ちます。

Word ドキュメントを PDF に変換するためのサンプル コード

C# を使用して Word ドキュメントを PDF に変換するには、Microsoft Interop サービスの機能を利用します。 以下のコード スニペットはこのタスクを達成し、その詳細な説明が続きます。

using System;
using Word = Microsoft.Office.Interop.Word;

class Program
{
    static void Main()
    {
        // Create an instance of Microsoft Word application
        var wordApp = new Word.Application();

        // Open the Word document
        var wordDocument = wordApp.Documents.Open(@"path_to_your_word_file.docx");

        // Specify the path where the PDF should be saved
        var outputPath = @"path_where_you_want_to_save_pdf.pdf";

        // Convert the Word document to PDF
        wordDocument.ExportAsFixedFormat(outputPath, Word.WdExportFormat.wdExportFormatPDF);

        // Close the Word document and quit the Word application
        wordDocument.Close();
        wordApp.Quit();

        // Output a success message
        Console.WriteLine("Word document converted to PDF successfully!");
    }
}
using System;
using Word = Microsoft.Office.Interop.Word;

class Program
{
    static void Main()
    {
        // Create an instance of Microsoft Word application
        var wordApp = new Word.Application();

        // Open the Word document
        var wordDocument = wordApp.Documents.Open(@"path_to_your_word_file.docx");

        // Specify the path where the PDF should be saved
        var outputPath = @"path_where_you_want_to_save_pdf.pdf";

        // Convert the Word document to PDF
        wordDocument.ExportAsFixedFormat(outputPath, Word.WdExportFormat.wdExportFormatPDF);

        // Close the Word document and quit the Word application
        wordDocument.Close();
        wordApp.Quit();

        // Output a success message
        Console.WriteLine("Word document converted to PDF successfully!");
    }
}
Imports System
Imports Word = Microsoft.Office.Interop.Word

Friend Class Program
	Shared Sub Main()
		' Create an instance of Microsoft Word application
		Dim wordApp = New Word.Application()

		' Open the Word document
		Dim wordDocument = wordApp.Documents.Open("path_to_your_word_file.docx")

		' Specify the path where the PDF should be saved
		Dim outputPath = "path_where_you_want_to_save_pdf.pdf"

		' Convert the Word document to PDF
		wordDocument.ExportAsFixedFormat(outputPath, Word.WdExportFormat.wdExportFormatPDF)

		' Close the Word document and quit the Word application
		wordDocument.Close()
		wordApp.Quit()

		' Output a success message
		Console.WriteLine("Word document converted to PDF successfully!")
	End Sub
End Class
$vbLabelText   $csharpLabel

コードの説明

私たちのコードの冒頭には、Microsoft.Office.Interop.Word 名前空間を簡単に参照するための重要な名前空間エイリアス Word が含まれています。 System 名前空間は、C# プログラミングにとって基本的なクラスを提供し、ほとんどすべての C# アプリケーションにおいて定番です。

実際の操作は Main メソッドの中で始まります。 まず、new Word.Application() を使用して Word アプリケーションの新しいインスタンスを作成します。 この手順は MS Word を起動するのに似ていますが、すべての処理はユーザーが見えないバックグラウンドで行われます。 アプリケーション インスタンスが初期化された後、そのインスタンスを使って Word ドキュメントを開くように指示します。この際、wordApp.Documents.Open メソッドを使用します。 "path_to_your_word_file.docx" の代わりに Word ドキュメントのパスを指定することが重要です。

ドキュメントが開かれた状態で、PDF をどこに保存するかを決定します。 これは、outputPath 変数で指定されています。 パスは変換された PDF 出力ファイルが配置される場所に調整することが重要です。

Word ドキュメントを PDF に変換するマジックは、行 wordDocument.ExportAsFixedFormat(...) によって行われます。 Interop サービスは、変換を手間なく行うための組み込みメソッドを提供します。 このメソッドは主に 2 つの引数を取ります: PDF を保存するべきパスと、エクスポート形式 (この場合は PDF) です。

変換の後、使用したリソースを解放することは良い慣行です。こうして、wordDocument.Close() は開いたドキュメントを閉じ、wordApp.Quit() はバックグラウンドで起動した Word アプリケーションのインスタンスを終了します。

最後に、私たちのプログラムはユーザーに対して結果をコンソールメッセージで伝達します。 Console.WriteLine() メソッドはフィードバックを提供し、変換プロセスが成功裏に実行されたことを示します。

したがって、Microsoft.Office.Interop.Word は Word ドキュメントを処理して変換するための適切な解決策を提供します。

IronPDF と IronWord を使用した C# での Word から PDF への変換

ドキュメントの自動化を含む .NET アプリケーションを構築している場合、直面する一般的なタスクの 1 つは、Word ドキュメントを PDF 形式に変換することです。 .docx ドキュメント テンプレート、請求書、レポート、契約書に取り組んでいるかどうかにかかわらず、DOCX ファイルを PDF に変換することで、一貫したフォーマット、安全な配信、クロスプラットフォームの互換性が確保されます。

This article explains how to easily convert Word to PDF using two powerful tools from IronSoftware: IronPDF and IronWord. 彼らがどのように異なるか、いつどのツールを使用するか、そして C# での迅速で信頼性の高い Word から PDF への生成を実装する方法を学びます。

なぜ .NET で Word を PDF に変換するのか?

これらのライブラリを使用してこのタスクを達成する方法に進む前に、まず Word ドキュメントを PDF に変換することがなぜ正確にあなたの作業スペースやドキュメントを強化できるのかを見てみましょう。

では、なぜ DOCX ファイルを PDF 形式に変換する必要があるのでしょうか?

  • 様々なプラットフォームで視覚的一貫性を保証します。
  • フォーマットを固定し、意図しない編集を防ぎます。
  • 法的または財務ドキュメントのアーカイブに最適です。
  • ファイルの印刷と共有を容易にします。
  • 多くのビジネスワークフローでしばしば求められる形式です。

ツールの概要: IronPDF と IronWord

IronWord

![IronWord

IronWord は、Word ドキュメントの読み取りと編集のために作成された .NET ライブラリです。 IronWord を使用すると、Microsoft Office Interop や Microsoft Word インストールなしで、.docx ドキュメントを直接読み込み編集し、その後 IronPDF を使用して DOCX を PDF に変換できます。

次に、ドキュメント オブジェクトを作成し、そこにテキストを追加することで IronWord を使用する様子を見てみましょう。

using IronWord;
using IronWord.Models;
using IronWord.Models.Abstract;

WordDocument doc = new WordDocument();

TextContent text = new TextContent("This is some example text.");
text.Style = new TextStyle()
{
    Color = Color.Red,
    TextFont = new Font()
    {
        FontFamily = "Roboto",
        FontSize = 72,
    }
};
doc.AddText(text);
doc.Save("example.docx");
using IronWord;
using IronWord.Models;
using IronWord.Models.Abstract;

WordDocument doc = new WordDocument();

TextContent text = new TextContent("This is some example text.");
text.Style = new TextStyle()
{
    Color = Color.Red,
    TextFont = new Font()
    {
        FontFamily = "Roboto",
        FontSize = 72,
    }
};
doc.AddText(text);
doc.Save("example.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Abstract

Private doc As New WordDocument()

Private text As New TextContent("This is some example text.")
text.Style = New TextStyle() With {
	.Color = Color.Red,
	.TextFont = New Font() With {
		.FontFamily = "Roboto",
		.FontSize = 72
	}
}
doc.AddText(text)
doc.Save("example.docx")
$vbLabelText   $csharpLabel

出力 Word ドキュメント

![Word 出力

IronPDF

![IronPDF

IronPDF は .NET 用のフル機能の PDF ライブラリであり、PDF 生成と操作のためのツールが満載です。 その主要な機能の 1 つは高品質な HTML からの PDF 変換能力ですが、このライブラリは Word から PDF への C# 変換タスクも処理できる能力を持っています。 .NET 開発者が PDF を生成したり既存の PDF ドキュメントを編集したりする際、IronPDF はすべてのニーズに対応します。

IronPDF の使いやすさはどのようなものですか? Word ドキュメントを PDF に変換する際の動作を理解するために、次のコード例を見てみましょう。

using IronPdf;

var renderer = new DocxToPdfRenderer();
var pdf = renderer.RenderDocxAsPdf("sample.docx");
pdf.SaveAs("example.pdf");
using IronPdf;

var renderer = new DocxToPdfRenderer();
var pdf = renderer.RenderDocxAsPdf("sample.docx");
pdf.SaveAs("example.pdf");
Imports IronPdf

Private renderer = New DocxToPdfRenderer()
Private pdf = renderer.RenderDocxAsPdf("sample.docx")
pdf.SaveAs("example.pdf")
$vbLabelText   $csharpLabel

PDF 出力

![PDF 出力

統合されるワークフロー: IronWord と IronPDF

IronWord は直接 PDF にエクスポートすることはできませんが、プログラムで Word ドキュメントを作成するのに最適です。 ここではよくあるフローの一例です:

Word から PDF へのパイプライン in C#

  1. IronWord で Word ドキュメント を読み込みまたは作成する
  2. 動的データ(例えばトークンを置き換える)で編集する
  3. .docx ファイルを保存します
  4. IronPDF を使用してドキュメントを PDF 形式に変換する
  5. その後、IronPDF を使って、新たにレンダリングされた PDF に透かしや注釈を追加するなどのさらなる調整を行うことができます

このハイブリッドワークフローは、最小限の依存性で最大限の柔軟性を提供し、Web アプリ、クラウドサービス、デスクトップアプリケーションに最適です。

では、これは実際にどのように行われるのでしょうか?

ドキュメント作成のための IronWord の使用

まず、IronWord を使用して例の Word ドキュメントを作成します。

using IronWord;
using IronWord.Models;
using IronWord.Models.Abstract;

WordDocument doc = new WordDocument();

TextContent title = new TextContent("Example Report.");
TextContent text = new TextContent("Report created using IronWord, you can use this to create dynamic text and tables.");
title.Style = new TextStyle()
{
    TextFont = new Font()
    {
        FontSize = 72
    },
    IsBold = true,
};

Paragraph paragraph = new Paragraph();
paragraph.AddText(title);
paragraph.AddText(text);

doc.AddParagraph(paragraph);
doc.Save("example.docx");
using IronWord;
using IronWord.Models;
using IronWord.Models.Abstract;

WordDocument doc = new WordDocument();

TextContent title = new TextContent("Example Report.");
TextContent text = new TextContent("Report created using IronWord, you can use this to create dynamic text and tables.");
title.Style = new TextStyle()
{
    TextFont = new Font()
    {
        FontSize = 72
    },
    IsBold = true,
};

Paragraph paragraph = new Paragraph();
paragraph.AddText(title);
paragraph.AddText(text);

doc.AddParagraph(paragraph);
doc.Save("example.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Abstract

Private doc As New WordDocument()

Private title As New TextContent("Example Report.")
Private text As New TextContent("Report created using IronWord, you can use this to create dynamic text and tables.")
title.Style = New TextStyle() With {
	.TextFont = New Font() With {.FontSize = 72},
	.IsBold = True
}

Dim paragraph As New Paragraph()
paragraph.AddText(title)
paragraph.AddText(text)

doc.AddParagraph(paragraph)
doc.Save("example.docx")
$vbLabelText   $csharpLabel

出力

![Word ドキュメント出力

IronPDF を使用した C# での Word to PDF 変換

わずか 3 行のコードで、Word ドキュメントを PDF に迅速に変換することができます。

using IronPdf;

var renderer = new DocxToPdfRenderer();

var pdf = renderer.RenderDocxAsPdf("example.docx");

pdf.SaveAs("output.pdf");
using IronPdf;

var renderer = new DocxToPdfRenderer();

var pdf = renderer.RenderDocxAsPdf("example.docx");

pdf.SaveAs("output.pdf");
Imports IronPdf

Private renderer = New DocxToPdfRenderer()

Private pdf = renderer.RenderDocxAsPdf("example.docx")

pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

出力

![PDF 出力

そのようなわけで、少しのコードで IronWord を使用してカスタム Word ドキュメントを作成し、それをさらに IronPDF を活用して PDF 形式に変換できたのです。

使いやすく、あらゆる場所で動作可能

IronPDF と IronWord は両方とも次の環境で動作します:

  • ASP.NET Core および Blazor
  • Azure App Services および Azure Functions
  • .NET フレームワーク、.NET 6、7、8、9、.NET Core を含む互換がある
  • Linux、Docker、およびサーバー環境に簡単に統合可能
  • デスクトップ(WPF/WinForms)およびコンソールアプリケーション

Office のインストールは不要。 COM Interop も不要。クリーンでモダンな .NET ライブラリだけです。

一般的なユースケース

ユースケース IronWord IronPDF
.docx ファイルのロード/編集 はい いいえ
Word のテキスト/トークンの置き換え はい いいえ
.docx ドキュメントを保存 はい いいえ
HTML を PDF に変換 いいえ はい
最終的な PDF 出力を生成 いいえ はい
サーバーサイドレンダリング はい はい

プロのヒント: Razor ビューを使用した Word ライクな PDF ドキュメントの出力

IronWord を使用していなくても、IronPDF は Razor テンプレートを直接サポートしています。 Razor ページを使用して CSS で Word 風のレイアウトを出力し、それを PDF にレンダリングすることができます。

@model InvoiceModel

<html>
  <body>
    <h1>Invoice for @Model.CustomerName</h1>
    <p>Amount Due: @Model.TotalAmount</p>
  </body>
</html>
@model InvoiceModel

<html>
  <body>
    <h1>Invoice for @Model.CustomerName</h1>
    <p>Amount Due: @Model.TotalAmount</p>
  </body>
</html>
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'@model InvoiceModel <html> <body> <h1> Invoice for @Model.CustomerName</h1> <p> Amount Due: @Model.TotalAmount</p> </body> </html>
$vbLabelText   $csharpLabel

IronPDF はそれを洗練されており印刷に適した PDF に変換できます。

まとめ: .NET での Word to PDF 変換 のフルパワーを解き放つ

By including IronPDF and IronWord in your .NET projects, you get a powerful, Office-free workflow for handling documents in .NET. カスタムスタイルとテーブルを備えたダイナミックな Word ドキュメントを作成するか、ドキュメントをピクセルパーフェクトな PDF ファイルに変換します。 どんなタスクでも、これらのライブラリを使用すると、Word および PDF のタスクを扱うための強力なツールが常に利用可能です。

これは、請求書、レポート、契約書、Word で始めて安全で一貫した PDF 形式で終わらなければならないドキュメントを生成するのに最適です。

デスクトップソフトウェアを構築しているか、Azure にデプロイしているかにかかわらず、IronWord と IronPDF はドキュメントの自動化に完全な制御を提供 - 速く、信頼性が高く、生産準備完了しています。 If you want to see more of these libraries in action, be sure to check out their documentation, where you can find plenty of code examples for both IronPDF and IronWord to learn more about their features and how they work.

今日から始めよう

Visual Studio プロジェクト内で迅速に実装するために、NuGet パッケージ マネージャーを通じて両方のライブラリをインストールします。 購入前に試してみたいですか? Download the free trial for IronPDF and IronWord today and start creating powerful documents right away.

よくある質問

C# を使用して Word ドキュメントを PDF に変換するにはどうすればよいですか?

Microsoft.Office.Interop.Word パッケージを使用して、C# で Word ドキュメントを PDF に変換できます。これには、Word アプリケーションのインスタンスを作成し、ドキュメントを読み込み、ExportAsFixedFormat メソッドを使用して PDF として保存する過程が含まれます。

Word から PDF への変換における ExportAsFixedFormat メソッドの役割は何ですか?

Microsoft.Office.Interop.Word の ExportAsFixedFormat メソッドは、Word ドキュメントを PDF ファイルとしてエクスポートするために使用され、共有や印刷に適した固定形式を提供します。

C# で Word ドキュメントを PDF に変換するための前提条件は何ですか?

C# で Word ドキュメントを PDF に変換するには、Microsoft Word がインストールされている必要があり、Visual Studio と NuGet パッケージマネージャーを通じて入手可能な Microsoft.Office.Interop.Word パッケージが必要です。

変換後に Word アプリケーションを閉じることが重要なのはなぜですか?

システムリソースを解放し、メモリリークを回避するため、変換後に Word アプリケーションを閉じることが重要です。これにより、アプリケーションがバックグラウンドで開いたままになり、不要なリソースを消費しないようにします。

Microsoft Interop よりも Excel ファイルを処理するためのより効率的な代替手段は何ですか?

IronXL は、C# において Microsoft Office をインストールする必要がなく、より広範なファイル形式のサポートを提供することで、Excel ファイルを処理するためのより効率的な代替手段となります。

C# アプリケーションで IronXL ライブラリをインストールするにはどうすればよいですか?

C# アプリケーションに IronXL をインストールするには、NuGet パッケージマネージャーコンソールを使用して、Install-Package IronXL.Excel コマンドを実行します。

Excel ファイルを処理する際に IronXL はどのファイル形式を扱えますか?

IronXL は、XLS、XLSX、XLSM、CSV、TSV、JSON、XML、HTML、バイナリ、およびバイト配列を含む複数の形式で Excel ファイルを変換および処理できます。

IronXL を使用することによる Microsoft Interop サービスに対する利点は何ですか?

IronXL は、Microsoft Office のインストールが不要であること、処理速度が速いこと、使用の容易さ、および Microsoft Interop サービスよりも広範なファイル形式のサポートを提供するといった利点があります。

Jordi Bardia
ソフトウェアエンジニア
Jordiは、最も得意な言語がPython、C#、C++であり、Iron Softwareでそのスキルを発揮していない時は、ゲームプログラミングをしています。製品テスト、製品開発、研究の責任を分担し、Jordiは継続的な製品改善において多大な価値を追加しています。この多様な経験は彼を挑戦させ続け、興味を持たせており、Iron Softwareで働くことの好きな側面の一つだと言います。Jordiはフロリダ州マイアミで育ち、フロリダ大学でコンピュータサイエンスと統計学を学びました。