C# および VB.NET でのプログラムによる DOC から PDF への変換
この記事では、高価な商用ソフトウェアに依存せずに、C# または VB.NET を使用して DOC ファイルを PDF 形式に変換するという課題について説明します。
問題: C# または VB.NET でプログラムによって .doc ファイルを .pdf ファイルに効率的に変換し、高価なサードパーティ ライブラリを回避します。
解決策:
方法 1: Microsoft Word 相互運用機能を活用する
このアプローチでは、Microsoft Word Interop ライブラリを利用して変換を実行します。 これには、コードを実行するシステムに Microsoft Word がインストールされている必要があることに注意してください。
<code class="language-csharp">// Add reference to Microsoft.Office.Interop.Word Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application(); wordApp.Visible = false; // Run Word in the background wordApp.ScreenUpdating = false; // Disable screen updates for faster processing DirectoryInfo dir = new DirectoryInfo(@"\server\folder"); // Specify the directory containing DOC files FileInfo[] docFiles = dir.GetFiles("*.doc"); foreach (FileInfo docFile in docFiles) { object filename = (object)docFile.FullName; Microsoft.Office.Interop.Word.Document doc = wordApp.Documents.Open(ref filename); object pdfFilename = (object)docFile.FullName.Replace(".doc", ".pdf"); doc.SaveAs(ref pdfFilename, Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF); doc.Close(); } wordApp.Quit();</code>
方法 2: Word 2007 以降の処理
Word 2007 以降のバージョンの場合は、必要な参照がプロジェクトに追加されていることを確認してください。 コアの変換ロジックは方法 1 と同じです。
方法 3: ページを反復処理する (例示的な例)
次のコード スニペットは、ページの反復を示しています (直接 PDF 変換ではなく、画像抽出に関連します)。 これは完全を期すために含まれていますが、主な問題とは直接関係しません。
<code class="language-csharp">foreach (Microsoft.Office.Interop.Word.Page page in pane.Pages) // 'pane' needs to be defined in context { // ... code to convert page to image ... }</code>
確実なエラー処理のために、潜在的な例外 (ファイルが見つからない、Word がインストールされていないなど) を忘れずに処理してください。 このアプローチは、Microsoft Word が利用可能な場合に、プログラムによる DOC から PDF への変換のための費用対効果の高いソリューションを提供します。 Word が利用できない場合、またはライセンスが重大な懸念事項である場合は、無料のオープンソース ライブラリなどの代替手段を検討してください。
以上が高価なソフトウェアなしでC#またはVB.NETのDOCファイルをPDFにプログラムで変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。