ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
プログラムで文書を変換することは、多くのアプリケーションで必須の機能となっている。 特にビジネスの世界では、Word文書をPDFファイルに変換することは日常的な作業です。 ありがたいことに、C#(シーシャープ)とMicrosoft Interopを使えば、WordファイルをシームレスにPDFに変換できる。 このチュートリアルでは、C#(シーシャープ)を使ってプログラムでWordをPDFに変換するプロセスについて説明します;
コードに入る前にC#(シーシャープ)を使用して.DOCXをPDFに変換する必要な環境を整えておくことは非常に重要だ。 以下は必要な前提条件である:
コンピュータにMicrosoft Wordがインストールされていることを確認してください。 Interopサービスは、Word文書とPDF変換を処理するためにWordの組み込み機能を使用します。
のバージョンビジュアルスタジオは、C#(シーシャープ)プログラムの作成、コンパイル、実行に必要です。 まだVisual Studioをお持ちでない方は、以下のサイトからコミュニティ版を無料でダウンロードできます。マイクロソフト公式サイト.
Microsoft.Office.Interop.Word
をインストールする。このパッケージは、C#(シーシャープ)プログラムがWord文書と対話するために必要な機能を提供するために不可欠です。 これは後でNuGet Package Managerを使ってインストールされるが、変換プロセスにおける重要性を知っておくことは良いことだ。
変換したいWord文書または.docx
ファイルを用意する。 C#(シーシャープ)プログラムで指定する必要があるため、マシン上のパスを確認してください。
Wordファイルを読み込み、結果のPDFファイルを目的のディレクトリに書き込めることを確認してください。 管理者としてVisual Studioを実行することで、権限関連の問題が解決することがあります。
これらの前提条件があれば、環境をセットアップし、Word文書をPDFファイルに変換することができます。
Visual Studioを開いてください。
新しいC#(シーシャープ)コンソールアプリケーションを作成します。
NuGet Package Manager > Manage NuGet 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&numで定番となっている;
実際の動作は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()は開いたドキュメントを確実に閉じます。()バックグラウンドで起動したWordアプリケーションのインスタンスを確実に終了させる。
最後に、このプログラムはシンプルなコンソール・メッセージで結果をユーザーに伝える。 コンソール.WriteLine()メソッドは、変換処理が正常に実行されたことを示すフィードバックを提供する。
このように、Microsoft.Office.Interop.Word
はWord文書を扱い、変換するための適切なソリューションを提供する。
Microsoft.Office.Interopは、文書変換のための実行可能なソリューションを提供しますが、Excels.Office.Interop
で作業するための、より効率的で堅牢な代替手段があります:IronXL.
IronXLは、C#(シーシャープ)でExcelファイルを処理するプロセスを簡素化します。 スピードと使いやすさの点でInteropを上回るだけでなく、Microsoft Officeのような追加インストールも不要です。さらに詳しくお知りになりたいですか? の詳細なチュートリアルをご覧ください。C#(シーシャープ)を使ってエクセルファイルを読み込む方法.
IronXL ライブラリは、NuGet Package Manager コンソールで以下のコマンドを使用してインストールできます:
Install-Package IronWord
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 から開始され、投資に見合う価値を提供し、アプリケーションでのスムーズな文書処理を保証します。
9つの .NET API製品 オフィス文書用