Estoy tratando de desarrollar una aplicación empaquetada (sin conexión) con chrome 23+ que permite al usuario generar e imprimir un archivo pdf. Intenté varias formas de lograr esto, pero ninguno realmente funciona.Aplicaciones empaquetadas de Chrome/pdf.js
Usando algo como esto, el navegador/aplicación se congela:
window.html (includes pdf.js (http://code.google.com/p/jspdf/) and genpdf.js (see below)):
....
<browser src="about:blank" width="1024" height="768"></browser>
genpdf.js:
var doc = new jsPDF();
doc.text(20, 20, 'foo');
doc.text(20, 30, 'bar');
document.querySelector('browser').src = window.webkitURL.createObjectURL(new Blob([doc.output()], {type: 'application/pdf'}));
Esto sería mi forma preferida para visualizar el PDF generado, pero con la ventana congelar el usuario no puede imprimirlo.
Otra forma sería la de guardar el PDF en el escritorio:
chrome.fileSystem.chooseFile({type: 'saveFile'}, function(writableFileEntry) {
writableFileEntry.createWriter(function(writer) {
writer.onerror = function(e) {
console.log('writeend');
};
writer.onwriteend = function(e) {
console.log('writeend');
};
var doc = new jsPDF();
doc.text(20, 20, 'foo');
doc.text(20, 30, 'bar');
writer.write(new Blob([doc.output()], {type: 'application/pdf'}));
}, errorHandler);
});
Esto funciona, pero el archivo en el escritorio está bloqueado hasta que la aplicación está cerrada. ¿Hay alguna llamada de API que me falta para liberar el archivo guardado?
¡Gracias de antemano!
Me encantaría ver a alguien responder esto. – knownasilya
Si su solución preferida está causando la falla de Chrome, lo primero que haría es [presentar un problema] (http://code.google.com/p/chromium/issues/list). Es muy posible que los desarrolladores de Chrome puedan ayudarte. –