Manipulando DOC - Interop
19/03/2015
0
Estou com o seguinte problema, preciso manipular o um arquivo word (onde encontra-se o modelo para a geração de um certificado). Utilizei o Microsoft Office Interop, e consegui fazer tudo que desejava, porém quando fui testar no servidor, descobri que o Interop apenas iria funcionar se o Word tivesse instalado no servido, o que não é aconselhado.
Sendo assim preciso de uma nova forma de fazer as alterações no arquivo, onde não seja necessário a instalação do Office no servidor.
Detalhe que preciso fazer um replace de dados utilizando o modelo, onde mantenha todas as configurações do modelo, preciso que o arquivo seja convertido para PDF e que nao necessite office no servidor.
Abaixo segue o código que utilizando o Interop, que faz tudo que preciso
.
Sendo assim preciso de uma nova forma de fazer as alterações no arquivo, onde não seja necessário a instalação do Office no servidor.
Detalhe que preciso fazer um replace de dados utilizando o modelo, onde mantenha todas as configurações do modelo, preciso que o arquivo seja convertido para PDF e que nao necessite office no servidor.
Abaixo segue o código que utilizando o Interop, que faz tudo que preciso
object urlDocx = Server.MapPath(urlDoc); object missing = System.Reflection.Missing.Value; Application wordApp = new Application(); Document wordDoc = wordApp.Documents.Open(urlDocx, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, false, missing, missing, missing, missing); object FindText = ""; object ReplaceWith = ""; object MatchWholeWord = true; object Forward = false; object replaceAll = WdReplace.wdReplaceAll; Range oRng = wordDoc.Range(ref missing, ref missing); foreach (var parametro in parametros) { oRng = wordDoc.Range(ref missing, ref missing); FindText = parametro.Key; ReplaceWith = parametro.Value; oRng.Find.Execute(ref FindText, ref missing, ref MatchWholeWord, ref missing, ref missing, ref missing, ref Forward, ref missing, ref missing, ref ReplaceWith, ref replaceAll, ref missing, ref missing, ref missing, ref missing); } string novoDOC = System.IO.Path.GetTempFileName(); wordDoc.SaveAs(novoDOC, 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, ref missing); string tempDOC = System.IO.Path.GetTempFileName().Replace(".tmp", ".PDF"); wordDoc.ExportAsFixedFormat(@tempDOC, Microsoft.Office.Interop.Word.WdExportFormat.wdExportFormatPDF, true); wordDoc.Close(Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges, Microsoft.Office.Interop.Word.WdOriginalFormat.wdOriginalDocumentFormat, false); wordApp.Quit();
Gabriela
Curtir tópico
+ 0
Responder
Posts
Clique aqui para fazer login e interagir na Comunidade :)