Estoy accediendo a un servicio web WCF existente (que devuelve un PDF como una secuencia de bytes) utilizando los métodos ajax de jquery.Cómo mostrar una secuencia de PDF en un navegador usando JavaScript
Cuando finaliza la llamada al servicio, termino con una variable javascript que contiene un PDF (la variable tiene los datos binarios, comenzando "% PDF-1.4 ...").
Me gustaría mostrar este PDF en una nueva ventana del navegador, pero estoy teniendo dificultades para lograrlo.
Mi investigación hasta la fecha demuestra que yo podría ser capaz de lograr lo que quiero utilizando medios informáticos: uri, por lo que mi código que se llama cuando la llamada ajax completa es la siguiente:
function GotPDF(data)
{
// Here, data contains "%PDF-1.4 ..." etc.
var datauri = 'data:application/pdf;base64,' + Base64.encode(data);
var win = window.open("", "Your PDF", "width=1024,height=768,resizable=yes,scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no");
win.document.location.href = datauri;
}
Esto provoca una nueva ventana del navegador para abrir, pero el contenido está en blanco.
Curiosamente, si apunto mi navegador (IE9) a un archivo existente en mi disco local usando un archivo: uri, como file: // c: /tmp/example.pdf, entonces obtengo el mismo resultado , es decir, una ventana en blanco.
¿Hay alguna manera de que pueda visualizar esta información de PDF?