none
janela com opções de salvar ou abrir do windows com asp.n RRS feed

  • Pergunta

  • Bom dia amigo !

    Gostaria de uma ajudinha, seguinte...
    Estou utilizando ASP.NET com C# e fiz um código para ler o documento que esta em Word e salvar em pdf, mas acontece que ele salva direto no diretório que eu estou especificando.

    Gostaria de saber se alguém teria um código ou poderia me orientar em como fazer aparecer aquela opção do navegador de "Salvar", "Abrir" ou "Cancelar"

     

    Segue abaixo meu código caso alguém queira :

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Web;

    using System.Web.UI;

    using System.Web.UI.WebControls;

    using Microsoft.Office.Interop.Word;

    using System.IO;

     

    public partial class Testando : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

     

        }

        protected void Button1_Click(object sender, EventArgs e)

        { 

            Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();

            object missing = System.Reflection.Missing.Value;

            object arquivoEntrada = @"C:\Users\jonathan marques\Desktop\Teste.doc";

     

            //abre o arquivo doc

            Document doc = app.Documents.Open(ref arquivoEntrada, 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); 

            //range do que está dentro da tamplate

            Microsoft.Office.Interop.Word.Range rang = doc.Range(ref missing, ref missing);

            //texto que eu quero substituir e o novo valor

            object tag = "<nome>";

            object subs = txtnome.Text;

            //se eu quero que ache a palavra inteira

            object palavraInteira = true;

            object praFrente = false;

            //processo de substituição do texto

            rang.Find.Execute(ref tag, ref missing, ref palavraInteira, ref missing,

                              ref missing, ref missing, ref praFrente, ref missing, ref missing,

                              ref subs, ref missing, ref missing, ref missing, ref missing, ref missing);

            rang = doc.Range(ref missing, ref missing);

            tag = "<idade>";

            subs = txtIdade.Text;

            rang.Find.Execute(ref tag, ref missing, ref palavraInteira, ref missing,

                              ref missing, ref missing, ref praFrente, ref missing, ref missing,

                              ref subs, ref missing, ref missing, ref missing, ref missing, ref missing);

            rang = doc.Range(ref missing, ref missing);

            tag = "<end>";

            subs = txtEndereco.Text;

     

            rang.Find.Execute(ref tag, ref missing, ref palavraInteira, ref missing,

                              ref missing, ref missing, ref praFrente, ref missing, ref missing,

                              ref subs, ref missing, ref missing, ref missing, ref missing, ref missing);

            object arquivoSaida = @"C:\Users\jonathan marques\Desktop\" + txtnome.Text + ".pdf";

            object formato = WdSaveFormat.wdFormatPDF;

            //salvo arquivo pdf

            doc.SaveAs(ref arquivoSaida,

                ref formato, 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);

            //não salvo mudanças no arquivo original

            object salvarMudancas = WdSaveOptions.wdDoNotSaveChanges;

            doc.Close(ref salvarMudancas, ref missing, ref missing);

            app.Quit(ref missing, ref missing, ref missing);

        }

    }

    Desde já agradeço galera

    terça-feira, 13 de setembro de 2011 13:49

Todas as Respostas

  • Jonathan,

     

         Ou eu ou você confundimos as coisas. Quando você abre/salva no asp.net com C# você está salvando no servidor, não na máquina onde está o browser.

         Se for o que eu estou entendendo, voce deve salvar no servidor e depois "forçar" um download pelo browser do usuário (com Response).

         Confirma primeiro se é isso que precisa e eu ajudo.

     

    Att,

    Ricardo

    quarta-feira, 14 de setembro de 2011 01:28
  • E usar Office em aplicações web alem de não suportado, pode fazer parar a sua aplicação se saltar uma janela de diálogo qualquer (aquela que queres para gravar ou outra e não estiver ninguém de prontidão no servidor para fechar a janela.
    Paulo Morgado
    quarta-feira, 14 de setembro de 2011 01:32
  • OLÁ RICARDO, SEGUINTE...

    EU GOSTARIA DE DEIXAR O ARQUIVO NO SERVIDOR E QUANDO O USUARIO FOR FAZER ALGUM RELATORIO O SISTEMA PUXAR DO CAMINHO DO SERVIDOR, POR EXEMPLO

    Response.Write("url inicando o caminho");

    MAS ACONTECE QUE ELE NÃO ESTA BUSCANDO, ONDE EU ESTOU ERRANDO ?

    sábado, 24 de setembro de 2011 23:37