Il ressemble à ceci question a été asked un certain nombre de times avec des versions plus anciennes de pdfMake, mais n'a pas été mis à jour avec ce qui semble être la dernière structure de répertoires. De plus, copier des polices dans un dossier «polices» racine n'est pas génial.Comment créer un pdf sur NodeJs en utilisant pdMake et vfs_fonts?
Comment dans le monde puis-je obtenir une version côté serveur de pdfMake ("pdfmake": "^ 0.1.31") s'exécutant sur NodeJs avec le fichier vfs_fonts.js inclus?
Installation à l'aide NPM sur la ligne de commande
npm install pdfmake fs --save
le démarrage d'une application NodeJS index.js ce qui suit:
var fonts = {
Roboto: {
normal: 'fonts/Roboto-Regular.ttf',
bold: 'fonts/Roboto-Medium.ttf',
italics: 'fonts/Roboto-Italic.ttf',
bolditalics: 'fonts/Roboto-MediumItalic.ttf'
}
};
var PdfPrinter = require('pdfmake/src/printer');
var printer = new PdfPrinter(fonts);
var dd = {
content: [
'First paragraph',
'Another paragraph'
]
}
var pdfDoc = printer.createPdfKitDocument(dd);
pdfDoc.pipe(fs.createWriteStream('basics.pdf')).on('finish',function(){
//success
});
pdfDoc.end();
run Hit et bam:
/usr/local/bin/node index.js
fs.js:640
return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
^
Error: ENOENT: no such file or directory, open 'fonts/Roboto-Regular.ttf'
at Error (native)
at Object.fs.openSync (fs.js:640:18)
Le problème semble résider avec l'emplacement des fichiers de polices/Roboto .... Côté client, ceci est résolu en incluant le fichier vfs_fonts.js. Côté serveur, je ne suis pas sûr. Il n'y a pas de fonts folder or .ttf files inclus. Le cadre météoritique example que j'ai trouvé ne semble pas applicable.
Des idées? Tous les officiels examples référencent un dossier src/fonts. Pas un bon moyen d'aller pour un module de serveur d'installation npm.
Vous n'avez pas besoin d'inclure la police Roboto côté serveur, elle est disponible par défaut. Si vous avez besoin de polices personnalisées, alors vous devez suivre les étapes mentionnées à https://github.com/bpampuch/pdfmake/wiki/Custom-Fonts---client-side –