title: Error: write EPIPE
body: <p>I keep getting the following error:</p>
  
  <pre><code>Error: write EPIPE
  at errnoException (net.js:901:11)
  at Object.afterWrite (net.js:718:19)
  </code></pre>
  
  <p>When i run the following function:</p>
  
  <pre><code>    router.route('/certificationService')
      .post(function (req, res) {
          var html = null,
              certificate = req.body.certificate,
              lang = req.body.lang,
              now = new Date(),
              dd = now.getDate(),
              mm = now.getMonth() + 1,
              yyyy = now.getFullYear();
  
          if (dd &lt; 10) dd = '0' + dd;
          if (mm &lt; 10) mm = '0' + mm;
  
          switch (lang) {
              case 'da':
                  var text = {
                      title: 'Certifikat',
                      first_line: 'Dette certifikat er givet til',
                      second_line: 'for gennemførelsen af certificeringen',
                      score: 'Score',
                      date: 'D.',
                      organization: 'Organisation'
                  };
                  break;
              case 'en':
                  var text = {
                      title: 'Certificate',
                      first_line: 'This certificate was given to',
                      second_line: 'for the completion of certification',
                      score: 'Score',
                      date: 'The',
                      organization: 'Organization'
                  };
                  break;
              case 'no':
                  var text = {
                      title: 'Sertifikat',
                      first_line: 'Dette sertifikatet er gitt til',
                      second_line: 'gjennomføring av sertifisering',
                      score: 'Score',
                      date: 'D.',
                      organization: 'Organisation'
                  };
                  break;
              case 'de':
                  var text = {
                      title: 'Zertifikat',
                      first_line: 'Dieses zertifikat wird eine für gegebene',
                      second_line: 'die Umsetzung der zertifizierung',
                      score: 'Ergebnis',
                      date: 'D.',
                      organization: 'Unternehmen'
                  };
                  break;
              default:
          }
  
          var data = {
              firstname: certificate.user.profile.firstname,
              lastname: certificate.user.profile.lastname,
              organization: certificate.user.organization.name,
              module_name: certificate.name,
              medal: env + certificate.medal.image_path,
              score: certificate.score,
              date: dd + '-' + mm + '-' + yyyy,
              show_score: certificate.show_score,
              description: certificate.text,
              company_logo: env + req.body.organization.logo_file_name,
              company_name: req.body.organization.name,
              text: text
          };
  
          // rendering the ejs file
          ejs.renderFile('./templates/certificate.ejs', {data: data}, function (err, result) {
              if (result) {
                  html = result;
              } else {
                  res.end('An error occurred: ' + err);
                  console.log(err);
              }
          });
  
          var options = {
              filename: './user_resources/certificate/' + certificate.user.id + '/' + certificate.name.replace(/ +?/g, '_') + '.pdf',
              format: 'A4',
              orientation: 'portrait',
              type: "pdf",
              timeout: 30000
          };
  
          pdf.create(html, options).toFile(function (err, res) {
              if (err) return console.log("This is where it goes wrong"+ err);
              console.log(res);
          });
  
          var file = {
              originalname: certificate.name.replace(/ +?/g, '_') + '.pdf',
              path: './user_resources/certificate/' + certificate.user.id + '/'
          };
  
          var media = new Media(file, './user_resources/certificate/' + certificate.user.id + '/');
  
          var token = jwt.encode({
              mediaObject: media
          }, require('../secret')());
  
  
          res.status(200).json(token);
      });
  </code></pre>
  
  <p>So i tried to look around to find a solution and someone said:</p>
  
  <blockquote>
    <p>Make sure both imagemagick and graphicsmagick are installed on your machine.</p>
  </blockquote>
  
  <p>So ive installed it using the following:</p>
  
  <pre><code>$ sudo add-apt-repository ppa:dhor/myway
  $ sudo apt-get update
  $ sudo apt-get install graphicsmagick
  </code></pre>
  
  <p>However without any luck.</p>
  
  <p>The following are the dependencies of my <code>module</code>:</p>
  
  <pre><code>    var fs = require('fs'),
      jwt = require('jwt-simple'),
      pdf = require('html-pdf'),
      path = require('path'),
      ejs = require('ejs'),
      async = require('async'),
      DataTypes = require("sequelize"),
      PDFKit = require('pdfkitjs'),
      gm = require('gm').subClass({imageMagick: true}),
      ffmpeg = require('fluent-ffmpeg'),
      sys = require('util'),
      exec = require('child_process').exec,
  </code></pre>
  
  <p>I really hope some of you are able to help me out!</p>