Created
May 9, 2018 18:24
-
-
Save enorrmann/3d490735c683ea502cc621b729bc02e3 to your computer and use it in GitHub Desktop.
filtro en angular para pdfs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// este metodo va en alguna clase de configuracion de la app, por ejemplo app.js | |
app.factory('pdfResource', ['$resource', function ($resource) { | |
return function (url, reportName) { | |
var actions = { | |
'getpdf': { | |
method: 'GET', | |
headers: { | |
accept: 'application/pdf,application/json', | |
'report-name': reportName | |
}, | |
responseType: 'arraybuffer', | |
transformResponse: function (data) { | |
var pdf; | |
if (data) { | |
pdf = new Blob([data], { | |
type: 'application/pdf' | |
}); | |
} | |
return { | |
pdf: pdf | |
}; | |
} | |
} | |
}; | |
return $resource(url, {}, actions, {}); | |
}; | |
}]); | |
// entonces despues podemos inyectar en los servicios, por ejemplo | |
app.service('socioeducativoSevice', ['pdfResource', function (pdfResource) { | |
// y aca lo usamos | |
var getPdf = function (idIgaList) { | |
var url = pdfResource('api/alumno/socioeducativo', 'SocioEducativo'); | |
return url.getpdf( | |
{ | |
iga: idIgaList | |
}).$promise; | |
}; | |
} | |
/// y despues usamos el service en nuestro controlador, que va a tener la funcion imprimirPdf(), o algo asi, por ejemplo | |
$scope.getPdf = function () { | |
// ids son una lista de ids tipo numero | |
socioeducativoSevice.getPdf(ids).then(function (informe) { // este informe es datos binario en pdf | |
FileSaver.saveAs(informe.pdf, "informe.pdf"); // es importante poner el punto pdf en el primer parametro, y lo que esta entre comillas puede ser cualquier cosa | |
}); | |
}; | |
// FileSaver es una libreria js externa, que se agrega en 'ngFileSaver' en app.js | |
y hay que guardar el js en las libs | |
https://raw.githubusercontent.com/eligrey/FileSaver.js/master/src/FileSaver.js | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment