C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 132 を表示中)
■77863 / )  xlsxをPDF変換したい
□投稿者/ さとすけ (1回)-(2015/11/26(Thu) 14:45:26)

分類:[C#] 

2015/11/26(Thu) 16:36:33 編集(投稿者)
xlsxをPDFに変換する方法を探しています。
もしご存知の方がいらっしゃいましたらご教授下さい。

なお、変換はWebアプリ(IIS上)で実行し、
実行マシンにはMSオフィスはインストールしない予定です。

当方は以下の方法で試しましたが、
変換は出来たものの
IISのワーカープロセスを変えないと動きませんでした。

ワーカープロセスを変えずに実現できないか、
その方法を探しています。

-------------- 当方が試した内容 --------------
1. LbireOfficeを d:\tmp へインストール
2. 以下のソースで実行
=============
String xlsx = @"D:\tmp\c.xlsx";
String outDir = @"d:\tmp";

var pdfProcess = new Process();
pdfProcess.StartInfo.FileName = @"d:\tmp\LibreOffice 5\program\soffice.exe";
pdfProcess.StartInfo.Arguments = @"--norestore --nofirststartwizard --headless --convert-to pdf --outdir " + outDir + " " + xlsx;
pdfProcess.StartInfo.WorkingDirectory = outDir; //This is really important
pdfProcess.Start();
=============
-> PDF変換出来ない
   例外も発生しないので何が原因が不明
   タスクマネージャを見ると LibreOfficeプロセスが2個出現するが、そのまま動いていない
-> VisualStdioからデバッグモードで起動すると変換出来たので、権限かな?
-> d:\tmp の権限で以下のユーザ/グループにフルコントロールを設定。
   - Everyone
   - IIS_IUSERS
   - Classic.Net AppPool
   - DefaultAppPool
-> PDF変換出来ない
-> IISのワーカープロセスを ApplicationfoolIdentity から LocalSystem に変更
-> PDF変換出来た

-------------- 環境 --------------
# .Net : 4.0
# Server : Windows Server2012R2
# IIS : 8.5

返信 編集キー/


管理者用

- Child Tree -