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

Chaknith related to C# で Microsoft Word を PDF に変換する方法
チャクニット・ビン
2023年9月19日
更新済み 2024年12月11日
共有:
This article was translated from English: Does it need improvement?
Translated
View the article in English

DOCXファイルは、MicrosoftのワードプロセッシングプログラムであるMicrosoft Wordで作成された文書です。 それはOffice Open XML (OOXML)標準を使用しており、さまざまなソフトウェアと互換性があり、効率的です。 これは、Word 2007以降のWord文書のデフォルト形式であり、以前のDOC形式に取って代わりました。

IronPDFを使用すると、DOCXドキュメントをPDFに変換でき、個別の受信者向けにパーソナライズされたバッチ文書を生成するためのメールマージ機能も提供されます。 DOCXからPDFへの変換は、普遍的な互換性を確保し、フォーマットを保持し、セキュリティの層を追加します。

IronPDFを始めましょう

今日から無料トライアルでIronPDFをあなたのプロジェクトで使い始めましょう。

最初のステップ:
green arrow pointer



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

Microsoft WordファイルをPDFに変換するには、DocxToPdfRendererクラスをインスタンス化します。 DOCXファイルのファイルパスを指定して、DocxToPdfRendererオブジェクトのRenderDocxAsPdfメソッドを利用します。このメソッドはPdfDocumentオブジェクトを返し、PDFをさらにカスタマイズすることができます。 私はMicrosoft Wordの「Modern Chronological Resume」テンプレートを例として使用しました。 Modern Chronological Resume DOCXのサンプルファイルをダウンロードできます。

マイクロソフトワードプレビュー

Microsoft Word プレビュー

コードサンプル

さらに、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");
Imports IronPdf

' Instantiate Renderer
Private renderer As New DocxToPdfRenderer()

' Render from DOCX file
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")

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

PDFを出力


メールマージの例

Microsoft 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; }
}
Friend Class RecipientsDataModel
	Public Property [Date]() As String
	Public Property Location() As String
	Public Property Recipients_Name() As String
	Public Property Contact_Us() As String
End Class
$vbLabelText   $csharpLabel

Microsoft Wordによって提供されたテンプレートを当社の目的に合わせて変更しました。 Party Invitation DOTX サンプルファイルをダウンロードしてください。 私たちのユースケースでは、MailMergePrintAllInOnePdfDocument プロパティを true に設定し、PDF を 1 つの PdfDocument オブジェクトに結合します。 使用する差し込みフィールドは、日付、場所、受取人の名前、お問い合わせです。

マイクロソフトワードプレビュー

Microsoft Word プレビュー

コードサンプル

: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");
Imports IronPdf
Imports System.Collections.Generic
Imports System.Linq

Private recipients = New List(Of RecipientsDataModel)() From {
	New RecipientsDataModel() With {
		.Date ="Saturday, October 15th, 2023",
		.Location="Iron Software Cafe, Chiang Mai",
		.Recipients_Name="Olivia Smith",
		.Contact_Us = "support@ironsoftware.com"
	},
	New RecipientsDataModel() With {
		.Date ="Saturday, October 15th, 2023",
		.Location="Iron Software Cafe, Chiang Mai",
		.Recipients_Name="Ethan Davis",
		.Contact_Us = "support@ironsoftware.com"
	}
}

Private docxToPdfRenderer As New DocxToPdfRenderer()

' Apply render options
Private options As New DocxPdfRenderOptions()

' Configure the output PDF to be combined into a single PDF document
options.MailMergePrintAllInOnePdfDocument = True

' Convert DOTX to PDF
Dim pdfs = docxToPdfRenderer.RenderDocxMailMergeAsPdf(Of RecipientsDataModel)(recipients, "Party-invitation.dotx", options)

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

PDFを出力

PDFドキュメントが作成された後、追加の変更を行う柔軟性があります。 これには、PDF/AまたはPDF/UAとしてエクスポートすることや、デジタル証明書を追加することが含まれます。 PDFをマージまたは分割して個々のページを操作したり、回転させたりすることもでき、注釈ブックマークを適用するオプションもあります。

Chaknith related to PDFを出力
ソフトウェアエンジニア
チャクニットは開発者のシャーロック・ホームズです。彼がソフトウェアエンジニアリングの将来性に気付いたのは、楽しみでコーディングチャレンジをしていたときでした。彼のフォーカスはIronXLとIronBarcodeにありますが、すべての製品でお客様を助けることに誇りを持っています。チャクニットは顧客と直接話すことで得た知識を活用して、製品自体のさらなる改善に貢献しています。彼の逸話的なフィードバックは、単なるJiraチケットを超えて、製品開発、ドキュメントおよびマーケティングをサポートし、顧客の全体的な体験を向上させます。オフィスにいないときは、機械学習やコーディングについて学んだり、ハイキングを楽しんだりしています。