diff --git a/server/homebrew.api.js b/server/homebrew.api.js index 692345e3c..79c0bc822 100644 --- a/server/homebrew.api.js +++ b/server/homebrew.api.js @@ -122,6 +122,44 @@ module.exports = function(app){ }) }); + //PDF download + var pdf = require('html-pdf'); + app.get('/homebrew/pdf/:id', function(req, res){ + HomebrewModel.find({shareId : req.params.id}, function(err, objs){ + if(err) return res.status(404).send(); + + var resObj = null; + var errObj = {text: "# oops\nCould not find the homebrew."} + if(objs.length){ + resObj = objs[0]; + } + + var content = _.map(resObj.text.split('\\page'), function(pageText){ + return '
' + Markdown(pageText) + '
'; + }).join('\n'); + + var title = '' + resObj.text.split('\n')[0] + ''; + var page = '' + title + PHBStyle + '' + content +'' + + + + var config = { + "height": (279.4 - 56) + "mm", + "width": (215.9 - 43) + "mm", + "border": "0", + } + + pdf.create(html, config).toStream(function(err, stream){ + + res.attachment('pdfname.pdf'); + return stream.pipe(res); + }); + + + }) + }); + + diff --git a/server/pdfConvert.js b/server/pdfConvert.js index 2878878f8..7af41707a 100644 --- a/server/pdfConvert.js +++ b/server/pdfConvert.js @@ -1,26 +1,31 @@ var pdf = require('html-pdf'); var Markdown = require('marked'); -var style = require('fs').readFileSync('../build/phbPage/bundle.css', 'utf8'); - -style = ""; - - function replaceAll(str, find, replace) { - return str.replace(new RegExp(find, 'g'), replace); - } - -style = replaceAll(style, '/assets/homebrew/assets/', 'http://www.naturalcrit.com/assets/homebrew/assets/'); - -var content = Markdown('# oh hey \n welcome! ##### test'); +var PHBStyle = '' -var html = "" + style + "
"+ content +"
" - -console.log(html); +var content = Markdown('# oh hey \n welcome! isnt this neat \n \\page ##### test'); -pdf.create(html).toFile('./pdfs/businesscard.pdf', function(err, res){ +var html = "" + PHBStyle + "
"+ content +"
" + +//var h = 279.4 - 20*2.8; +var h = 279.4 - 56; + + + +//var w = 215.9 - 56*1.7 + +var w = 215.9 - 43; + + +var config = { + "height": (279.4 - 56) + "mm", + "width": (215.9 - 43) + "mm", + "border": "0", +} + +pdf.create(html, config).toFile('./temp.pdf', function(err, res){ console.log(err); console.log(res.filename); }); \ No newline at end of file diff --git a/server/temp.pdf b/server/temp.pdf new file mode 100644 index 000000000..c51792ad8 Binary files /dev/null and b/server/temp.pdf differ