Я как раз собирался через documentation для pdfmake, где они дают следующий код для установки ориентации страницы:
var docDefinition = {
// a string or { width: number, height: number }
pageSize: 'A5',
// by default we use portrait, you can change it to landscape if you wish
pageOrientation: 'landscape',
...
//Other content
};
Теперь суть всего этого проекта является объект определения документа, который является уникальным, я думаю. Даже на github page и вопросов, упомянутых, я не вижу положение ориентации настройки страницы для конкретных страниц, хотя вы можете добавить PageBreaks так:
(...)
'You can also fit the image inside a rectangle',
{
image: 'fonts/sampleImage.jpg',
fit: [100, 100],
pageBreak: 'after'
},
(...)
То есть, я думаю, есть обходной путь для вашего проблема. Вы видите, это то, как pdf
документ создается в этом проекте:
var fs = require('fs');
var pdfDoc = printer.createPdfKitDocument(docDefinition);
pdfDoc.pipe(fs.createWriteStream('pdfs/basics.pdf'));
pdfDoc.end();
Ofcourse в pipe и fs
модулей реализации узлов. Однако, так как мы имеем ориентацию страницы прилагается к объекту определения документа, если у нас есть несколько определений Doc так:
var pdf1 = printer.createPdfKitDocument(docdef1); //landscape mode page 1
var pdf2 = printer.createPdfKitDocument(docdef2); //portrait mode page 2
var pdf3 = printer.createPdfKitDocument(docdef3); //landscape mode for the rest of the pages.
Теперь мы можем просто использовать append
флаг в методе createWriteStream()
. Полезно documentation. (Непроверенный код)
pdf1.pipe(fs.createWriteStream('foo.pdf'));
pdf2.pipe(fs.createWriteStream('foo.pdf',{flags:'a'}));
pdf3.pipe(fs.createWriteStream('foo.pdf',{flags:'a'}));
pdf1.end();
pdf2.end();
pdf3.end();
Я просто предлагаю, как вы можете объединить объекты определения документа. Надеюсь, вы начнете в правильном направлении.
спасибо, что ответите, я попробую ваше предложение сразу и сообщит вам результат. Я просто хочу убедиться, что ваш метод создает 3 pdf или только 1 pdf? Кстати, моя цель - создать 1 pdf с разной ориентацией –
Я вижу вашу мысль, вы попытались объединить 3 генерируемых PDF в 1 файл pdf. Я пробовал, но это только первая страница. :( ' –
Кстати, вот мой [код] (https://gist.github.com/ismile/3db044e5d557a8912b22) –