Office 2007 をインストールして Word 12 Object Library を使用することは、間違いなく私が選ぶ選択肢です (そして、私自身のプロジェクトのいくつかでそうしました)。
運用 Web サーバーに Word をインストールしたくない場合は、セカンダリ サーバーにインストールしてください。この 2 番目のサーバーを (Web サービスなどを使用して) 最初のサーバーと通信させることができます。エクスポートが必要な次の Word ドキュメントを要求し、変換を行ってから PDF データを返すことができます。
この変換を行う Word オートメーションの C# の例が必要な場合はお知らせください (非常に簡単です)。
エイドリアン
これがジェイソンのために投稿された私のコードです。これは Word 2007 で動作します。Office の Web サイトから PDF エクスポーターをダウンロードしてインストールする必要があります。
using Microsoft.Office.Interop.Word;
...
object _read_only = false;
object _visible = true;
object _false = false;
object _true = true;
object _dynamic = 2;
object _missing = System.Reflection.Missing.Value;
object _htmlFormat = 8;
object _pdfFormat = 17;
object _xpsFormat = 18;
object fileName = "C:\\Test.docx";
ApplicationClass ac = new ApplicationClass();
//ac.Visible = true; // Uncomment to see Word as it opens and converts the document
//ac.Activate();
Document d = ac.Documents.Open(ref fileName, ref _missing, ref _true, ref _read_only, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _visible, ref _missing, ref _missing, ref _missing, ref _missing);
object newFileName = ((string)fileName).Substring(0, ((string)fileName).LastIndexOf(".")) + ".pdf";
d.SaveAs(ref newFileName, ref _pdfFormat, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing, ref _missing);
d.Close(ref _false, ref _missing, ref _missing);
ac.Quit(ref _false, ref _missing, ref _missing);
ac = null;
それで、Soul_Master、あなたが言っているのは、相互運用機能を使用したくないということです (ただし、理由は言いませんが、知りたいのですが)、商用の輸出業者にお金を払いたくないということです。あなたは完璧な結果が欲しいですか?
私はあなたを助けることができません、私は恐れています。相互運用性により、常に完璧な結果が得られます。ソフトウェアは既にお持ちです。それを使用しない場合は、コストまたは品質のいずれかを犠牲にする必要があります。