Convertir les données Blob à Raw tampon en javascript ou nœud
Je suis en utilisant un plugin jsPDF qui génère des PDF et les enregistre dans le système de fichiers local. Maintenant jsPDF.js, il est un morceau de code qui génère les données pdf dans format blob:-
var blob = new Blob([array], {type: "application/pdf"});
et plus enregistre les données blob système de fichiers local. Maintenant, au lieu de sauver j'ai besoin d'imprimer le fichier PDF en utilisant le plugin le nœud de l'imprimante.
Voici un exemple de code pour le faire
var fs = require('fs'),
var dataToPrinter;
fs.readFile('/home/ubuntu/test.pdf', function(err, data){
dataToPrinter = data;
}
var printer = require("../lib");
printer.printDirect({
data: dataToPrinter,
printer:'Deskjet_3540',
type: 'PDF',
success: function(id) {
console.log('printed with id ' + id);
},
error: function(err) {
console.error('error on printing: ' + err);
}
})
La fs.readFile()
lit le fichier PDF et génère des données brutes de tampon format.
Maintenant ce que je veux, c'est de convertir le "Blob" données "brutes tampon" afin que je puisse imprimer le PDF.
OriginalL'auteur Kamaldeep Singh | 2015-12-08
Vous devez vous connecter pour publier un commentaire.
C'est le code final qui a travaillé pour moi. L'imprimante accepte uint8Array format de codage.
OriginalL'auteur Kamaldeep Singh
Essayer:
Il spécifie l'encodage de la chaîne d'entrée.
Vous voulez dire ici 'array' est "application/pdf" format et quoi "blob" est généré est de "binaire".
BLOB(Binary Large OBjet) est une collection de données binaires stockées dans une entité. Dans votre cas particulier, cette entité est une chaîne de caractères. Si vous voulez créer une zone tampon à partir d'une chaîne, vous devez spécifier l'encodage d'int tampon fonction constructeur. C'est ce que je veux dire 🙂
Cela ne semble pas fonctionner sur NodeJs. J'obtiens une erreur:
Argument of type 'Blob' is not assignable to parameter of type 'string'.
OriginalL'auteur Alexandr Lazarev