none
Abrir arquivo em PDF com Silverlight RRS feed

  • Pergunta

  • Tenho uma aplicação em Silverlight que quando o usuário clicar num botão específico preciso abrir um arquivo PDF que está junto com a aplicação. Já tentei fazê-lo com Navigate e com PopupWindow. No Navigate é retornado um Acesso Negado, no PopupWindow ele dá um erro no URI.
    Alguém teria alguma sugestão!!

    Grato
    Emerson (Lider CODENET) | Todo post que ajudar clique: "[x] Marcar como resposta correta"
    terça-feira, 9 de junho de 2009 20:34

Respostas

Todas as Respostas

  • Emerson. Acredito que não é possível trabalhar com PDF dentro do Silverlight. Pelo o que pesquisei, a única forma de se fazer isto é colocando o PDF dentro de seu HTML e exibí-lo pelos eventos do Silverlight.

    Segue dois links que podem te ajudar:
    http://www.codeproject.com/KB/silverlight/BlendPDFwithSilverlight.aspx
    http://dotnetslackers.com/articles/aspnet/WatermarkingPDFDocumentsUsingHttpHandlers.aspx


    Acredito que deva ficar algo assim:

    <iframe id="FramePDF" style="position:absolute; width:LARGURA; height:ALTURA; visibility:hidden" />

                HtmlElement m = HtmlPage.Document.GetElementById("FramePDF");          
                if (m != null)
                {

                    m.SetAttribute("src", "URL do seu pdf")
                    m.SetStyleAttribute("left", x);
                    m.SetStyleAttribute("top", y);
                    m.SetStyleAttribute("visibility", "visible");
                }

    Espero ter ajudado.

    "Se sua pergunta for respondida, por favor, marque como resposta"

    quarta-feira, 10 de junho de 2009 11:36
    Moderador
  • Então, eu não queria abrir diretamente no Silverlight, que queria mesmo era criar como um link de download para abrir um PDF que encontra-se no CD onde está a aplicação Silverlight!

    Grato
    Emerson (Lider CODENET) | Todo post que ajudar clique: "[x] Marcar como resposta correta"
    quarta-feira, 10 de junho de 2009 12:47
  • O mais interessante neste caso é que no FireFox funcionou direitinho. Será que não é uma limitação ou trava de segurança existente no Internet Explorer (7 e 8, testei em ambos). Alguém saberia alguma opção de configuração que me deixasse abrir um arquivo PDF como um link de Intranet ou arquivo local (o mesmo estará no CD na máquina do cliente).

    Aguardo
    Emerson (Lider CODENET) | Todo post que ajudar clique: "[x] Marcar como resposta correta"
    quarta-feira, 17 de junho de 2009 20:34
  • Emerson,

    Sugiro a leitura deste artigo http://www.amyuni.com/silverlight/article.php
    Mas acredito que será necessário a instalação do IIS nas máquinas que irão rodar sua aplicação.

    Abraços

    "Se sua pergunta foi respondida, por favor, marque como resposta"
    • Marcado como Resposta Daniel Ferreira terça-feira, 13 de julho de 2010 18:02
    segunda-feira, 22 de junho de 2009 11:43
    Moderador
  • Lucas,

    Realmente este artigo é interessante, mas eu não preciso gerar um PDF. Na verdade, preciso clicar num botão e permitir que o usuário faça download ou abra um PDF que já foi criado e encontra-se no CD/DVD onde está a aplicação Silverlight. No fundo é apenas criar um link para download de um arquivo existente no CD/DVD. Criar o link em si eu já fiz. O problema está no ponto em que o IE vai executar o link, pois ele retorna uma mensagem "Acesso Negado", e mais, isso acontece apenas no IE pois no FireFox funciona direitinho. Acredito que seja uma opção de segurança do IE, mas não consigo encontrá-la.

    Se tiver alguma ajuda agradeço.

    Abraços


    Emerson (Lider CODENET) | Todo post que ajudar clique: "[x] Marcar como resposta correta"
    quarta-feira, 24 de junho de 2009 16:17