Невозможно создать PDF с графической магией в узле - PullRequest
0 голосов
/ 26 июня 2018

У меня есть приложение Node, в котором я использую Graphics Magick для выполнения некоторых манипуляций с изображениями / PDF.

У меня есть следующий код, который вызывает мозаику () для объединения pdf и png.Если я экспортирую результат в виде PNG, то процесс будет успешным.Однако, если я пытаюсь экспортировать результат в формате PDF, то полученный файл PDF имеет размер, но его открытие показывает, что ничего не видно, он выглядит пустым.Не выдается никаких ошибок.

var newFileName = "result.pdf";
gm()
  .in('-page', '+0+0')
  .in('C:\\Code\\ProjectName\\src\\api\\test\\TestTemplatePDF.pdf')
  .in('-page', '+103+70')
  .in('C:\\Code\\ProjectName\\src\\api\\test\\pic1.png')
  .mosaic()
  .stream('pdf', (err, stdout, stderr) => {
    if (err) console.log('stream error', err);
    console.log('stream');

    var writeStream = fs.createWriteStream('./etc/' + newFileName);
    stdout.pipe(writeStream);

    stderr.on('end', () => {
      fs.readFile('./etc/streamError.txt', (err, data) => {
        console.log('reading errorStream');
        // if (err) console.error(err);
        if (err) {
          console.log('We found an error reading streamError.txt', err);
          res.send(err);
        } else if (data.length !== 0) {
          console.log('streamError.txt should contain a detailed error message', data);
          res.send(data);
        } else {
          console.log('streamError.txt contains no errors');
        }
      });
    });

    stdout.on('end', () => {
      fs.readFile('./etc/' + newFileName, (err, data) => {
        if (err) {
          console.log("stdout error: " + err);
          res.end();
        } else {
          console.log('Successfully read our new image file');         
        }
      })
    })
  })

Вывод / консоль показывает:

stream
reading errorStream
streamError.txt contains no errors
successfully read our new file

1 Ответ

0 голосов
/ 28 июня 2018

В конце концов, эта проблема исчезла, когда я преобразовал pdf в png перед редактированием.Предположительно делается вывод, что при использовании мозаики () они должны быть одного типа.

...