Я работаю над кодом, который пытается преобразовать документ Word в файл SWF.
Я так делаю:
- Я конвертирую текстовый документ в PDF-документ с помощью службы офисных компонентов.
- Я конвертирую PDF в SWF с помощью swftools.
Я сделал это на своем компьютере (64-разрядная версия, Windows Server 2008 R2, Office 2010), и она работает нормально, но когда я помещаю ее на сервер (64-разрядная версия, Windows Server 2008 R2, Office2010), появляется диалоговое окно «Сохранить как». будет отображаться, когда код пытается закрыть Word в программе, и независимо от того, нажимаю ли я «сохранить» или «отменить», он выдаст исключение «файл доступен только для чтения». Но на самом деле я не менял исходный файл, я просто открыл его и сохранил как документ PDF.
Вот код для преобразования Word в PDF:
bool ret = true;
Microsoft.Office.Interop.Word.Application newApp = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document doc = null;
object Unknown = Type.Missing;
try
{
object Source = path;
object Target = path.Substring(0, path.LastIndexOf(".")) + ".pdf";
if (outpath != "")
Target = outpath;
object readOnly = true;
object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF;
doc = newApp.Documents.Open(ref Source, ref Unknown, ref readOnly,
ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown,
ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown);
doc.SaveAs(ref Target, ref format,
ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown,
ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown);
}
catch (Exception e)
{
ret = false;
}
finally
{
if (doc != null)
{
doc.Close(ref Unknown, ref Unknown, ref Unknown);
//dialog shows up here
}
newApp.Quit(ref Unknown, ref Unknown, ref Unknown);
GC.Collect();
}
return ret;
Какие-либо предложения?
object Unkown=System.Reflection.Missing.Value
, а не то, что у вас есть сейчас ... - person bazz   schedule 30.07.2013