C#メモ Word文章をPDF形式で保存してみる
ちょい野暮用で調べたんで。
ポイントはこんなとこ。
- WordのCOMへの参照を追加する
- WordのCOMを使ってWord文章のファイルの読み込む
- PDF形式でファイルを出力する
まずはWordのCOMへの参照を追加する。
- ソリューションエクスプローラのツリーで"参照"って項目のとこで右クリックして、出てきたメニューの"参照の追加"ってのをクリックする。
- “参照マネージャ"って画面が表示されるので、"Microsoft Word XX.X Object Library"って項目にチェックを入れたら画面右下のOKボタンをクリックする。
参照が追加されたら"Microsoft.Office.Interop.Word"って項目が表示される。
んで、コードはこんな感じ。
/// <summary> /// エントリーポイント /// </summary> /// <param name="arguments">コマンドライン引数</param> static void Main(string[] arguments) { // Wordを取り扱うための変数を定義する // ※ExcelやPowerPointも同じようなクラス名なので明示的に名前空間を書くことにする Microsoft.Office.Interop.Word.Application objWord = null; Microsoft.Office.Interop.Word.Documents objDocuments = null; Microsoft.Office.Interop.Word.Document objDocument = null; // ファイル名を定義する string strWordFilePath = string.Empty; string strPdfFilePath = @"C:\Users\tetsuyanbo\Desktop\sample.pdf"; try { // ファイルパスを初期化する // ※今回PDFはWord文章と同じ場所に拡張子だけ変えて保存するようにした strWordFilePath = @"C:\Users\tetsuyanbo\Desktop\sample.docx"; strPdfFilePath = System.IO.Path.GetDirectoryName(strWordFilePath) + @"\" + System.IO.Path.GetFileNameWithoutExtension(strWordFilePath) + @".pdf"; // Wordオブジェクトを実体化する objWord = new Microsoft.Office.Interop.Word.Application(); // 文章を管理しているオブジェクトを取得する objDocuments = objWord.Documents; // PDFに変換するWord文章を開く objDocument = objDocuments.Open(strWordFilePath); // PDF形式で保存する objDocument.ExportAsFixedFormat(strPdfFilePath, Microsoft.Office.Interop.Word.WdExportFormat.wdExportFormatPDF); } catch(System.Exception objException) { System.Console.WriteLine(objException.Message); } finally { // 例外が発生しても必ずWordの文章を閉じるように処理はここ if (objDocument != null) { objDocument.Close(); } // 例外が発生しても必ずWordを狩猟するように処理はここ if(objWord != null) { objWord.Quit(); } } }
試しにPDFに変換してみるExcelのファイルはこんな感じ。
試しに準備したWord文章はこんな感じ。
んで、実行してみたらこんな感じ。
確認で出来たPDFを開いてみるとこんな感じ。
なんか…とっても簡単だな…。
んまま、明日への自分へのメモってことで。
ディスカッション
コメント一覧
まだ、コメントがありません