PDFKit, не удается открыть сгенерированный PDF

Я пытаюсь создать PDF-файл, используя некоторые собственные тексты (а не html-страницу). Я пробовал использовать PDFKit. Я могу создать PDF-файл, но затем не могу открыть его в режиме предварительного просмотра (возможно, он поврежден или использует формат файла, который не распознается программой Preview).

Ниже приведен код,

var fs = require('fs');
PDFDocument = require ('pdfkit');
var doc = new PDFDocument

// Embed a font, set the font size, and render some text
doc.text('Some text with an embedded font!', 100, 100)

// Add another page
doc.addPage()
   .text('Here is some vector graphics...', 100, 100)

// Draw a triangle
doc.save()
   .moveTo(100, 150)
   .lineTo(100, 250)
   .lineTo(200, 250)
   .fill("#FF3300")

// Apply some transforms and render an SVG path with the 'even-odd' fill rule
doc.scale(0.6)
   .translate(470, -380)
   .path('M 250,75 L 323,301 131,161 369,161 177,301 z')
   .fill('red', 'even-odd')
   .restore()

// Add some text with annotations
doc.addPage()
   .fillColor("blue")
   .text('Here is a link!', 100, 100)
   //.underline(100, 100, 160, 27, color: "#0000FF")
   .link(100, 100, 160, 27, 'http://google.com/')

// Write the PDF file to disk
doc.pipe(fs.createWriteStream('out.pdf') );
doc.end

Я мог упустить что-то маленькое. п


person Abhishek Kumar    schedule 22.04.2016    source источник
comment
Можете ли вы опубликовать PDF-файл, созданный вашим образцом выше? Если он не распознается (как PDF-документ), возможно, в нем отсутствует идентификатор PDF в пределах первых... гм, 128 байт, не так ли?... начала файла.   -  person acg_so    schedule 28.04.2016
comment
Понятно. Я должен был использовать doc.end() вместо doc.end. Теперь это работает. Спасибо.   -  person Abhishek Kumar    schedule 29.04.2016


Ответы (1)


Это была глупая ошибка с моей стороны. Я должен был использовать doc.end() вместо doc.end, и из-за этого PDF-файл не генерировался должным образом.

person Abhishek Kumar    schedule 29.04.2016
comment
У меня такая же ошибка, и я исправил ее, но я не понимаю, как это работает без каких-либо предупреждений или ошибок -_- ха-ха - person kakadais; 11.10.2017