透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
プログラムで文書を変換することは、多くのアプリケーションで必須の機能となっている。 特にビジネスの世界では、Word文書をPDFファイルに変換することは日常的な作業です。 ありがたいことに、C#(シーシャープ)とMicrosoft Interopを使えば、WordファイルをシームレスにPDFに変換できる。 このチュートリアルでは、C#(シーシャープ)を使ってプログラムでWordをPDFに変換するプロセスについて説明します;
C#を使用して.DOCXをPDFに変換するコードに入る前に、必要な環境が整っていることを確認することが重要です。 以下は必要な前提条件である:
コンピュータにMicrosoft Wordがインストールされていることを確認してください。 Interopサービスは、Word文書とPDF変換を処理するためにWordの組み込み機能を使用します。
C#プログラムを作成、コンパイル、実行するには、Visual Studioのバージョンが必要です。 まだVisual Studioをお持ちでない場合は、Microsoftの公式ウェブサイトから無料のコミュニティ版をダウンロードできます。
Microsoft.Office.Interop.Word
をインストールするこのパッケージは、C#(シーシャープ)プログラムがWord文書と対話するために必要な機能を提供するために不可欠です。 これは後でNuGet Package Managerを使ってインストールされるが、変換プロセスにおける重要性を知っておくことは良いことだ。
変換したいWordドキュメントまたは.docx
ファイルを準備してください。 C#(シーシャープ)プログラムで指定する必要があるため、マシン上のパスを確認してください。
Wordファイルを読み込み、結果のPDFファイルを目的のディレクトリに書き込めることを確認してください。 管理者としてVisual Studioを実行することで、権限関連の問題が解決することがあります。
これらの前提条件があれば、環境をセットアップし、Word文書をPDFファイルに変換することができます。
Visual Studioを開いてください。
新しいC#(シーシャープ)コンソールアプリケーションを作成します。
NuGet パッケージ マネージャー > ソリューション用に NuGet パッケージを管理 に移動します。
"Microsoft.Office.Interop.Word
"を検索してインストールします。 このパッケージは、私たちのアプリケーションがWordと通信し、Wordファイルを変換できるようにします。
![WordをPDFに変換する方法 C#: 図1 - Visual Studioを開き、新しいコンソールアプリケーションプロジェクトを作成します。] NuGet Package Manager > Manage Packages for Solutionにアクセスします。 Microsoft.Office.Interop.Word」を検索し、インストールする。 このパッケージは、コンソールアプリケーションがWordと連携するのを助け、Wordファイルの変換も可能にします。
C#(シーシャープ)を使ってWord文書をPDFに変換するには、Microsoft Interopサービスの機能を使います。 以下のコード・スニペットはこのタスクを実行するもので、詳細な説明はその後に続く。
using System;
using Word = Microsoft.Office.Interop.Word;
class Program
{
static void Main()
{
var wordApp = new Word.Application();
var wordDocument = wordApp.Documents.Open(@"path_to_your_word_file.docx");
var outputPath = @"path_where_you_want_to_save_pdf.pdf";
wordDocument.ExportAsFixedFormat(outputPath, Word.WdExportFormat.wdExportFormatPDF);
wordDocument.Close();
wordApp.Quit();
Console.WriteLine("Word document converted to PDF successfully!");
}
}
using System;
using Word = Microsoft.Office.Interop.Word;
class Program
{
static void Main()
{
var wordApp = new Word.Application();
var wordDocument = wordApp.Documents.Open(@"path_to_your_word_file.docx");
var outputPath = @"path_where_you_want_to_save_pdf.pdf";
wordDocument.ExportAsFixedFormat(outputPath, Word.WdExportFormat.wdExportFormatPDF);
wordDocument.Close();
wordApp.Quit();
Console.WriteLine("Word document converted to PDF successfully!");
}
}
Imports System
Imports Word = Microsoft.Office.Interop.Word
Friend Class Program
Shared Sub Main()
Dim wordApp = New Word.Application()
Dim wordDocument = wordApp.Documents.Open("path_to_your_word_file.docx")
Dim outputPath = "path_where_you_want_to_save_pdf.pdf"
wordDocument.ExportAsFixedFormat(outputPath, Word.WdExportFormat.wdExportFormatPDF)
wordDocument.Close()
wordApp.Quit()
Console.WriteLine("Word document converted to PDF successfully!")
End Sub
End Class
コードの冒頭には、2つの重要な名前空間が含まれている。 System
名前空間は、C# プログラミングに基本的なクラスを提供し、ほぼすべての C# で不可欠です。
本当のアクションはMain
メソッドの内部で始まります。 最初に、new Word.Application()
を使用してWordアプリケーションの新しいインスタンスを作成します。 このステップは、MS Wordを起動するようなものだが、すべてはバックグラウンドで行われ、ユーザーには見えない。 アプリケーションインスタンスが初期化されると、wordApp.Documents.Open
メソッドを使用してWordドキュメントを開くように指示します。 path_to_your_word_file.docx "の代わりにWord文書へのパスを指定することが重要である。
さて、ドキュメントを開いたところで、PDFを保存する場所を決めます。 これはoutput path
変数で指定されています。 変換後の出力PDFファイルが位置する場所に応じて、パスを調整する必要があることに注意してください。
Word ドキュメントを PDF に変換するマジックは、コード wordDocument.ExportAsFixedFormat(...)
で起こります。 Interopサービスは、組み込みの方法を提供し、手間をかけずに変換を可能にする。 このメソッドは2つの主要な引数を取ります:PDFを保存すべきパスとエクスポート・フォーマット(この場合はPDF)です。
変換が完了した後に使用したリソースを閉じることは良い習慣です。そのため、wordDocument.Close()
は開いたドキュメントを閉じることを保証し、wordApp.Quit()
はバックグラウンドで起動したWordアプリケーションのインスタンスを終了することを保証します。
最後に、このプログラムはシンプルなコンソール・メッセージで結果をユーザーに伝える。 Console.WriteLine()
メソッドはフィードバックを提供し、変換プロセスが正常に実行されたことを示します。
このように、Microsoft.Office.Interop.Word
は、Wordドキュメントを処理および変換するための適切なソリューションを提供します。
Microsoft.Office.Interop
はドキュメント変換の実行可能な解決策を提供しますが、Excelを扱うためのより効率的で堅牢な代替案があります:IronXL。
IronXLは、C#でのExcelファイルの処理を簡素化します。 スピードと使いやすさの点でInteropを上回るだけでなく、Microsoft Officeのような追加インストールも不要です。さらに詳しくお知りになりたいですか? 彼らの詳細なチュートリアルをチェックしてください: C#を使用してExcelファイルを読む方法 。
IronXL ライブラリは、NuGet Package Manager コンソールで以下のコマンドを使用してインストールできます:
Install-Package IronWord
C#でWordをPDFに変換する方法: 図2 - IronXL for .Net: C# Excelライブラリ
using IronXL;
using System.IO;
// Import any XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Export the excel file as XLS, XLSX, XLSM, CSV, TSV, JSON, XML
workBook.SaveAs("sample.xls");
workBook.SaveAs("sample.xlsx");
workBook.SaveAs("sample.tsv");
workBook.SaveAsCsv("sample.csv");
workBook.SaveAsJson("sample.json");
workBook.SaveAsXml("sample.xml");
// Export the excel file as Html, Html string
workBook.ExportToHtml("sample.html");
string htmlString = workBook.ExportToHtmlString();
// Export the excel file as Binary, Byte array, Data set, Stream
byte [] binary = workBook.ToBinary();
byte [] byteArray = workBook.ToByteArray();
System.Data.DataSet dataSet = workBook.ToDataSet(); // Allow easy integration with DataGrids, SQL and EF
Stream stream = workBook.ToStream();
using IronXL;
using System.IO;
// Import any XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Export the excel file as XLS, XLSX, XLSM, CSV, TSV, JSON, XML
workBook.SaveAs("sample.xls");
workBook.SaveAs("sample.xlsx");
workBook.SaveAs("sample.tsv");
workBook.SaveAsCsv("sample.csv");
workBook.SaveAsJson("sample.json");
workBook.SaveAsXml("sample.xml");
// Export the excel file as Html, Html string
workBook.ExportToHtml("sample.html");
string htmlString = workBook.ExportToHtmlString();
// Export the excel file as Binary, Byte array, Data set, Stream
byte [] binary = workBook.ToBinary();
byte [] byteArray = workBook.ToByteArray();
System.Data.DataSet dataSet = workBook.ToDataSet(); // Allow easy integration with DataGrids, SQL and EF
Stream stream = workBook.ToStream();
Imports IronXL
Imports System.IO
' Import any XLSX, XLS, XLSM, XLTX, CSV and TSV
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Export the excel file as XLS, XLSX, XLSM, CSV, TSV, JSON, XML
workBook.SaveAs("sample.xls")
workBook.SaveAs("sample.xlsx")
workBook.SaveAs("sample.tsv")
workBook.SaveAsCsv("sample.csv")
workBook.SaveAsJson("sample.json")
workBook.SaveAsXml("sample.xml")
' Export the excel file as Html, Html string
workBook.ExportToHtml("sample.html")
Dim htmlString As String = workBook.ExportToHtmlString()
' Export the excel file as Binary, Byte array, Data set, Stream
Dim binary() As Byte = workBook.ToBinary()
Dim byteArray() As Byte = workBook.ToByteArray()
Dim dataSet As System.Data.DataSet = workBook.ToDataSet() ' Allow easy integration with DataGrids, SQL and EF
Dim stream As Stream = workBook.ToStream()
上記のサンプルコードに示されているように、IronXLライブラリはInteropを使用せずにExcelファイルを読み取るのに役立ちます。IronXLライブラリを使用して、ワークブックを読み込み、SaveAs
メソッドを使って、XLS、XLSX、XLSM、CSV、TSV、JSON、XMLなどの異なる形式でエクスポートすることもできます。 また、HTML文字列、バイナリ、バイト配列、データセット、メモリストリームなどのデータタイプをコード内で直接エクスポートすることもできる。
今日のデジタル時代において、文書の変換、特にWord文書からPDFへの変換は、多くのアプリケーションにとって不可欠なものとなっています。 C#(シーシャープ)とMicrosoft Interopが提供する機能を使えば、これを実現できる。
しかしながら、IronXLのような優れたツールで最新情報を維持することは重要で、これは性能を向上させ、プロセスを簡素化します。 IronXLを試してみることを考えているなら、無料トライアルを提供しています。 その能力を体験した後、ライセンスは手頃な価格である$749から始まり、投資に対する価値を提供し、アプリケーションでのスムーズなドキュメント処理を保証します。