Así que aquí mi problema: Tengo un archivo pdf como base64 String que obtengo del servidor. Me gustaría utilizar esta cadena para mostrar el PDF directamente en el navegador o darle la opción de "Guardar como ..." al hacer clic en un enlace. Aquí el código que estoy usando:Guardar base64 cadena como PDF en el lado del cliente con JavaScript
<!doctype>
<html>
<head>
<title>jsPDF</title>
<script type="text/javascript" src="../libs/base64.js"></script>
<script type="text/javascript" src="../libs/sprintf.js"></script>
<script type="text/javascript" src="../jspdf.js"></script>
<script type="text/javascript">
function demo1() {
jsPDF.init();
jsPDF.addPage();
jsPDF.text(20, 20, 'Hello world!');
jsPDF.text(20, 30, 'This is client-side Javascript, pumping out a PDF.');
// Making Data URI
var out = jsPDF.output();
var url = 'data:application/pdf;base64,' + Base64.encode(out);
document.location.href = url;
}
</script>
</head>
<body>
<a href="javascript:demo1()">Run Code</a>
</body>
</html>
Funciona bien con Chrome y Safari. Firefox reconoce el pdf pero no lo muestra ya que FF requiere extensiones para estar presentes pero el uri de datos no tiene ninguno en este caso. La razón por la que insisto aquí, si Chrome y Safari consiguen que funcione, entonces tiene que haber una solución para FF e IE
Sé que hay algunas preguntas relevantes para esto, pero no exactamente la exacta y ahora también una un poco viejos. Sé que una solución alternativa sería generar el pdf en el lado del servidor, pero me gustaría generarlo en el lado del cliente.
Por lo tanto, gente inteligente, ¿es posible a través de algunos hacks o complementos de descarga JS adicionales?
hellow ??? ¿No hay nadie fuera que tenga alguna respuesta a esto ... puede ser John Resig ;-) – owsata
@owsata, el mismo problema aquí! ¡Simplemente abre la ventana! ¿Encontraste una solución a tu problema? Por favor déjanos saber. Gracias –
@FabioMilheiro Nope no encontró nada útil. El resultado final fue que debido a que los navegadores manejan los datos: la idea de la aplicación era diferente, no había mucho que la usara en primer lugar. Entonces último recurso -> envíe un pdf preparado del servidor. – owsata