Word文書は非常に実用的な文書フォーマットである。その操作性は非常に便利で、だからこそユーザーに愛されてきた。しかし、文書を保存する場合、文書の安定性とセキュリティのためにPDF形式を選択する人も少なくありません。この記事では、無料の.NETライブラリを使用して、C#でWordをPDFに変換する方法を示します。
無料の.NET Wordライブラリをインストールする
私たちが使っている無料のライブラリーはFree Spire.Doc for .NET
です。インストール方法は2つあります。
-
方法1: NuGetを介してFree Spire.Doc for .NETをインストールする
「ツール」>「NuGetパッケージマネージャ」>「パッケージマネージャコンソール」の順に選択し、次のコマンドを実行します。
PM> Install-Package FreeSpire.Doc
-
方法2: プログラムに手動でSpire.doc.dllファイルを導入する
Free Spire.Doc for.NETをローカルにダウンロードし、解凍してインストールします。インストールが完了したら、Visual Studioを開いて新しいプロジェクトを作成し、右側のソリューションエクスプローラで「参照」を右クリックし、「参照を追加」>「閲覧」を選択して、インストールパスの下のBINフォルダのdllファイルを見つけ、「OK」をクリックして、プログラムに参照を追加します。
C#でWordをPDFに変換する
以下は具体的な操作手順です。
-
Document
クラスのオブジェクトを作成します。 -
Document.LoadFromFile()
メソッドを使用して、Wordサンプルドキュメントをロードします。 -
Document.SaveToFile()
メソッドを使用して、WordドキュメントをPDFドキュメントとして保存します。
C#コード
using System;
using Spire.Doc;
using Spire.Doc.Documents;
namespace DoctoPDF
{
class toPDF
{
static void Main(string[] args)
{
//Documentクラスのオブジェクトを作成する
Document document = new Document();
//Wordサンプルドキュメントをロードする
document.LoadFromFile("Sample.docx");
//WordをPDFに変換する
document.SaveToFile("toPDF.PDF", FileFormat.PDF);
}
}
}
📌 Word APIはまた、ToPdfParameterList
クラスを提供しており、Wordをパスワードで保護されたPDFに変換したり、しおりを含むPDFに変換したり、フォントを埋め込んだPDFに変換するなど、追加の変換設定でWordをPDFに変換することができます。以下はその例である。
C#でWordをパスワードで保護されたPDFに変換する
// ToPdfParameterListオブジェクトの作成
ToPdfParameterList parameters = new ToPdfParameterList();
// 生成されたPDFのためのオープンパスワードと許可パスワードを設定する
parameters.PdfSecurity.Encrypt("openPsd", "permissionPsd", PdfPermissionsFlags.None, PdfEncryptionKeySize.Key128Bit);
C#でしおり付きWordをPDFに変換する
// ToPdfParameterListオブジェクトの作成
ToPdfParameterList parameters = new ToPdfParameterList();
// Wordの既存のしおりからPDFのしおりを作成する
parameters.CreateWordBookmarks = true;
// Wordの見出しからブックマークを作成
// parameters.CreateWordBookmarksUsingHeadings= true;
C#でWordをPDFに変換しながらフォントを埋め込む
// ToPdfParameterListオブジェクトの作成
ToPdfParameterList parameters = new ToPdfParameterList();
// 生成されたPDFにWordで使用されているすべてのフォントを埋め込む
parameters.IsEmbeddedAllFonts = true;
C#でWordをPDFに変換する際にハイパーリンクを無効にする
// ToPdfParameterListオブジェクトの作成
ToPdfParameterList parameters = new ToPdfParameterList();
// ハイパーリンクを無効にする
parameters.DisableLink = true;
参考: