C#を使用してDOCXをPDFに変換する方法

C#でMicrosoft WordをPDFに変換する方法

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDFはC#の開発者がDocxToPdfRendererクラスを使用してDOCXファイルをPDF形式に変換することを可能にします。

DOCXファイルは、Microsoftが提供するMicrosoft Officeスイートのワープロソフト、Microsoft Wordで作成された文書です。 それはOffice Open XML (OOXML)標準を使用しており、さまざまなソフトウェアと効率的かつ互換性があります。 Word 2007 以降、Word 文書のデフォルト形式となっており、当初公開された古い DOC 形式に取って代わりました。 DOCX形式には、ZIP圧縮によるファイルサイズの縮小、データ復元機能の向上、異なるプラットフォーム間での互換性の向上など、いくつかの利点があります。

IronPDFはWord文書を瞬時にPDFファイルに変換する機能を持ち、また個々の受信者向けにパーソナライズされた文書のバッチを生成するメールマージ機能も提供します。 DOCXからPDFへの変換は、普遍的な互換性を保証し、フォーマットを保持し、セキュリティの層を追加します。 この機能は、HTMLからPDFを作成する画像をPDFに変換するのように、異なるデバイスやオペレーティングシステム間で正確な外観を維持する必要があるドキュメントを配布する必要がある場合に特に役立ちます。

鉄PDFを使用したクイックスタート:DOCXをPDFに変換

IronPDFを使用して、C#で簡単にDOCXファイルをPDFに変換します。 このクイックガイドでは、1行のコードでシームレスに変換するためのDocxToPdfRendererクラスとRenderDocxAsPdfメソッドの使用法を説明します。 開発者がドキュメント処理の効率を向上させ、生成されたPDFが元のすべてのフォーマットと互換性を保持することを保証するのに最適です。

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

  1. NuGet パッケージ マネージャーを使用して IronPDF をインストールします

    PM > Install-Package IronPdf

  2. このコード スニペットをコピーして実行します。

    new IronPdf.DocxToPdfRenderer()
        .RenderDocxAsPdf("document.docx")
        .SaveAs("output.pdf");
  3. 実際の環境でテストするためにデプロイする

    今すぐ無料トライアルでプロジェクトに IronPDF を使い始めましょう
    arrow pointer


DOCXファイルをPDFに変換するには?

IronPDFは開発者がWord文書をプログラムでPDFに変換することを可能にし、効率を合理化し、既存の.NETアプリケーションやクロスプラットフォームの.NETフレームワークアプリケーションに統合することを可能にします。 このライブラリは、NuGet パッケージを含むさまざまなインストール方法をサポートしており、 WindowsLinuxmacOSなどの複数のプラットフォームに展開できます。

Microsoft WordファイルをPDF形式に変換するプロセスは簡単です。 まず、DocxToPdfRendererクラスをインスタンス化します。 DOCXファイルのファイルパスを指定して、DocxToPdfRendererオブジェクトのRenderDocxAsPdfメソッドを利用します。このメソッドはPdfDocument<//code>オブジェクトを返すので、ヘッダーとフッターの追加、透かしの適用、セキュリティオプションの設定など、PDFをさらにカスタマイズすることができます。 モダンクロノロジカル履歴書DOCX例ファイルをダウンロードできます。

原文はどのようなものですか?

Microsoftワードで時系列形式で赤をアクセントにしたモダンな薬剤師の履歴書を表示

C#コードはどのように書けばよいですか?

RenderDocxAsPdfメソッドは、DOCXデータをバイトやストリームとして受け取ることもできます。 この柔軟性により、ディスクやメモリに保存されている文書、データベースから取得した文書など、さまざまなソースの文書を扱うことができます。 この方法では、複雑な変換ロジックをすべて内部で処理し、フォント、画像、テーブル、書式が正確に保持されるようにします。

:path=/static-assets/pdf/content-code-examples/how-to/docx-to-pdf-from-file.cs
using IronPdf;

// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();

// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");

// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;

// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();

// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");

// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;

// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();

// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");

// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
$vbLabelText   $csharpLabel

より高度なシナリオでは、バイト配列やストリームから変換することもできます:

// Convert from byte array
byte[] docxBytes = File.ReadAllBytes("document.docx");
PdfDocument pdfFromBytes = renderer.RenderDocxAsPdf(docxBytes);

// Convert from stream
using (FileStream stream = new FileStream("document.docx", FileMode.Open))
{
    PdfDocument pdfFromStream = renderer.RenderDocxAsPdf(stream);
}
// Convert from byte array
byte[] docxBytes = File.ReadAllBytes("document.docx");
PdfDocument pdfFromBytes = renderer.RenderDocxAsPdf(docxBytes);

// Convert from stream
using (FileStream stream = new FileStream("document.docx", FileMode.Open))
{
    PdfDocument pdfFromStream = renderer.RenderDocxAsPdf(stream);
}
$vbLabelText   $csharpLabel

変換後のPDFはどのようになりますか?

完成したPDFは、フォント、色、レイアウト、埋め込み画像など、元の書式をすべて維持します。 そのため、IronPdfは普遍的にアクセス可能なフォーマットで共有またはアーカイブする必要があるプロフェッショナルなドキュメントを作成するのに理想的です。


バッチ PDF 生成に Mail Merge を使用するにはどうすればよいですか?

Microsoft Wordの"Mailings"タブにあるメールマージを使用すると、各受信者またはデータエントリごとに個別情報が含まれた書類のバッチを作成できます。 これは、招待状、ニュースレター、フォームレターなど、内容の多くが同じであるが、特定の詳細が各受取人のために異なるパーソナライズされた手紙、封筒、ラベル、または電子メールメッセージを生成するためによく使用されます。 この機能は、複数のPDFをマージしたり、カスタムメタデータ付きのドキュメントを生成したりするIronPDFの機能と組み合わせると特に強力です。

どのようなデータモデルを作成すればよいですか?

まず、対応するプレースホルダーにメールマージされる情報を保存するモデルを作成しましょう。 データモデルのプロパティ名は、Wordテンプレートのマージフィールド名と正確に一致している必要があります(大文字と小文字は区別されます)。

:path=/static-assets/pdf/content-code-examples/how-to/docx-to-pdf-mail-merge-model.cs
internal class RecipientsDataModel
{
    public string Date { get; set; }
    public string Location{ get; set; }
    public string Recipients_Name { get; set; }
    public string Contact_Us { get; set; }
}
internal class RecipientsDataModel
{
    public string Date { get; set; }
    public string Location{ get; set; }
    public string Recipients_Name { get; set; }
    public string Contact_Us { get; set; }
}
internal class RecipientsDataModel
{
    public string Date { get; set; }
    public string Location{ get; set; }
    public string Recipients_Name { get; set; }
    public string Contact_Us { get; set; }
}
$vbLabelText   $csharpLabel

Microsoft Wordが提供するテンプレートを目的に合わせて変更しました。 パーティ招待状DOTX例ファイルをダウンロードしてください。 このユースケースでは、MailMergePrintAllInOnePdfDocumentプロパティをtrueに設定し、PDFを1つのPdfDocumentオブジェクトに統合します。 使用するマージフィールドは日付、場所、受取人の名前、および"お問い合わせ"です。

メール マージ テンプレートはどのようなものですか?

Word メール マージ パーティーの招待状テンプレート(マージ フィールドとメール マージ ツールを使用した Mailings リボンを表示).

どのようにメールマージコードを実装しますか?

IronPdfのメールマージ機能はDocxPdfRenderOptionsクラスを通して設定できる様々なレンダリングオプションをサポートしています。 これは、ページの向き、余白、マージされたすべてのドキュメントを1つのPDFにまとめるか、別々のファイルを生成するかなどの側面を制御することができます。

:path=/static-assets/pdf/content-code-examples/how-to/docx-to-pdf-mail-merge.cs
using IronPdf;
using System.Collections.Generic;
using System.Linq;

var recipients = new List<RecipientsDataModel>()
    {
        new RecipientsDataModel()
        {
            Date ="Saturday, October 15th, 2023",
            Location="Iron Software Cafe, Chiang Mai",
            Recipients_Name="Olivia Smith",
            Contact_Us = "support@ironsoftware.com"
        },
        new RecipientsDataModel()
        {
            Date ="Saturday, October 15th, 2023",
            Location="Iron Software Cafe, Chiang Mai",
            Recipients_Name="Ethan Davis",
            Contact_Us = "support@ironsoftware.com"
        },
    };

DocxToPdfRenderer docxToPdfRenderer = new DocxToPdfRenderer();

// Apply render options
DocxPdfRenderOptions options = new DocxPdfRenderOptions();

// Configure the output PDF to be combined into a single PDF document
options.MailMergePrintAllInOnePdfDocument = true;

// Convert DOTX to PDF
var pdfs = docxToPdfRenderer.RenderDocxMailMergeAsPdf<RecipientsDataModel>(
     recipients,
     "Party-invitation.dotx",
     options);

pdfs.First().SaveAs("mailMerge.pdf");
using IronPdf;
using System.Collections.Generic;
using System.Linq;

var recipients = new List<RecipientsDataModel>()
    {
        new RecipientsDataModel()
        {
            Date ="Saturday, October 15th, 2023",
            Location="Iron Software Cafe, Chiang Mai",
            Recipients_Name="Olivia Smith",
            Contact_Us = "support@ironsoftware.com"
        },
        new RecipientsDataModel()
        {
            Date ="Saturday, October 15th, 2023",
            Location="Iron Software Cafe, Chiang Mai",
            Recipients_Name="Ethan Davis",
            Contact_Us = "support@ironsoftware.com"
        },
    };

DocxToPdfRenderer docxToPdfRenderer = new DocxToPdfRenderer();

// Apply render options
DocxPdfRenderOptions options = new DocxPdfRenderOptions();

// Configure the output PDF to be combined into a single PDF document
options.MailMergePrintAllInOnePdfDocument = true;

// Convert DOTX to PDF
var pdfs = docxToPdfRenderer.RenderDocxMailMergeAsPdf<RecipientsDataModel>(
     recipients,
     "Party-invitation.dotx",
     options);

pdfs.First().SaveAs("mailMerge.pdf");
using IronPdf;
using System.Collections.Generic;
using System.Linq;

var recipients = new List<RecipientsDataModel>()
    {
        new RecipientsDataModel()
        {
            Date ="Saturday, October 15th, 2023",
            Location="Iron Software Cafe, Chiang Mai",
            Recipients_Name="Olivia Smith",
            Contact_Us = "support@ironsoftware.com"
        },
        new RecipientsDataModel()
        {
            Date ="Saturday, October 15th, 2023",
            Location="Iron Software Cafe, Chiang Mai",
            Recipients_Name="Ethan Davis",
            Contact_Us = "support@ironsoftware.com"
        },
    };

DocxToPdfRenderer docxToPdfRenderer = new DocxToPdfRenderer();

// Apply render options
DocxPdfRenderOptions options = new DocxPdfRenderOptions();

// Configure the output PDF to be combined into a single PDF document
options.MailMergePrintAllInOnePdfDocument = true;

// Convert DOTX to PDF
var pdfs = docxToPdfRenderer.RenderDocxMailMergeAsPdf<RecipientsDataModel>(
     recipients,
     "Party-invitation.dotx",
     options);

pdfs.First().SaveAs("mailMerge.pdf");
$vbLabelText   $csharpLabel

最終的にマージされたPDFはどのようになりますか?

PDFドキュメントが作成された後、さらに変更を加える柔軟性があります。 これには、アーカイブとアクセシビリティ準拠のためにPDF/AまたはPDF/UAとしてエクスポートすることや、文書認証のためにデジタル証明書を追加することが含まれます。 また、PDFの結合や分割ページの回転によって個々のページを操作することができ、より良いドキュメントナビゲーションのために注釈ブックマークを適用するオプションがあります。

これらの機能に加えて、IronPDFは他のドキュメント形式への変換もサポートします。 たとえば、MarkdownをPDFに変換するRTFをPDFに変換する、あるいはPDFをHTMLにエクスポートするなどです。 IronPDFが提供する他の機能に関する追加情報については、包括的なHTML to PDFチュートリアルを参照してください。

よくある質問

C#でDOCXファイルをPDFに変換する方法は?

IronPDFを使えば、DocxToPdfRendererクラスを使ってたった1行のコードでDOCXをPDFに変換することができます。DocxToPdfRendererをインスタンス化し、DOCXファイルのパスを指定してRenderDocxAsPdfメソッドを呼び出し、SaveAsメソッドを使って出力を保存するだけです。

DocxToPdfRendererクラスとは何ですか?

DocxToPdfRendererはMicrosoft WordドキュメントをPDF形式に変換するIronPDFの専用クラスです。シンプルなAPIを提供しており、開発者は元の書式、レイアウト、ドキュメントプロパティをすべて保持したままDOCXファイルを変換することができます。

Word から PDF への変換では、書式は保持されますか?

はい、IronPDFのDocxToPdfRendererはフォント、スタイル、画像、テーブル、レイアウトを含む元のWordドキュメントのすべてのフォーマットを保持し、PDF出力が元のDOCXファイルと正確に一致することを保証します。

DOCXをPDFに変換する際、Mail Mergeを実行できますか?

はい、IronPdfはメールマージ機能をサポートしており、一つのDOCXテンプレートからパーソナライズされたPDFドキュメントを生成することができます。これは、一貫した書式を維持しながら、個々の受信者のためにカスタマイズされた文書を作成するために特に便利です。

DOCXをPDFに変換する主な手順は何ですか?

IronPDFでは5つの簡単なステップで翻訳が完了します:1) C#ライブラリをダウンロードする、2) DOCXファイルを準備する、3) DocxToPdfRendererクラスをインスタンス化する、4) RenderDocxAsPdfメソッドにファイルパスを指定する、5) オプションとしてバッチ処理にMail Mergeを利用する。

なぜWord文書をPDF形式に変換する必要があるのですか?

IronPDFを使用してPDFに変換することで、あらゆるデバイスやプラットフォームでのユニバーサルな互換性が保証され、正確なフォーマットとレイアウトが維持され、ドキュメントのセキュリティ機能が追加され、不要な編集が防止されます。PDFは表示ソフトウェアやオペレーティングシステムに関係なく、その外観を維持します。

DOCXからPDFへの変換は、異なるプラットフォームと互換性がありますか?

はい、IronPdfはクロスプラットフォームのデプロイをサポートし、Windows、Linux、macOSで使用できます。このライブラリは様々な.NET Frameworkアプリケーションで動作し、NuGetパッケージを含む複数のインストール方法を提供します。

どのような種類のWord文書を変換できますか?

IronPDFはOffice Open XML (OOXML)標準を使用するMicrosoft Word 2007以降で作成されたDOCXファイルを変換することができます。これには複雑な書式、画像、表、その他のWordの高度な機能を含む文書が含まれます。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

レビュー済み
Jeff Fritz
Jeffrey T. Fritz
プリンシパルプログラムマネージャー - .NETコミュニティチーム
Jeffはまた、.NETとVisual Studioチームのプリンシパルプログラムマネージャーです。彼は.NET Conf仮想会議シリーズのエグゼクティブプロデューサーであり、週に二回放送される開発者向けライブストリーム『Fritz and Friends』のホストを務め、テクノロジーについて話すことや視聴者と一緒にコードを書くことをしています。Jeffはワークショップ、プレゼンテーション、およびMicrosoft Build、Microsoft Ignite、.NET Conf、Microsoft MVPサミットを含む最大のMicrosoft開発者イベントのコンテンツを企画しています。
準備はできましたか?
Nuget ダウンロード 17,012,929 | バージョン: 2025.12 リリース