2016-09-24 7 views
0

Можно ли визуализировать текст над прямоугольником с помощью PDFKit. Возможно, можно использовать хак, чтобы заполнить прямоугольник непрозрачностью, но я не хочу использовать его таким образом. Мой текст скрыт прямоугольником (я создаю таблицу чередующимися прямоугольниками с разными цветами).PDFKit - текст над прямоугольником

UPDATE

Я понял, что текст как-то такой же цвет, как прямоугольники, то есть, вероятно, почему я не вижу его. Но почему ?

var doc = new PDFDocument({ 
    size: 'A4', 
    margin: 25 
    }); 
    doc.fontSize(11); 
    doc.lineWidth(0.5); 

    const projects = Projects.find().fetch(); 

    const rectXOffset = 25; 
    const rectYOffset = 25; 
    let rectPosition = 25; 

    let counter = 0; 

    for (var project of projects) { 


    if (counter % 2 == 0) 
    { 

    doc.rect(rectXOffset, rectPosition, doc.page.width - rectXOffset * 2, 25).fill("#ddd"); 

    } 
    else 
    { 

     doc.rect(rectXOffset, rectPosition, doc.page.width - rectXOffset * 2, 25).fill("#c9c9c9"); 
    } 

    rectPosition += rectYOffset; 
    counter++; 

    doc.text(project.projectName,100,100).fillColor("red"); 

    } 


    doc.write(process.env.PWD + '/PDFKitExampleServerSide.pdf'); 

ответ

0

пришли сюда, чтобы искать ответ на подобный вопрос ... Я думаю, что я понял это.

var doc = new PDFDocument({ 
    size: 'A4', 
    margin: 25 
}); 
doc.fontSize(11); 
doc.lineWidth(0.5); 

const projects = Projects.find().fetch(); 

const rectXOffset = 25; 
const rectYOffset = 25; 
let rectPosition = 25; 

let counter = 0; 

for (var project of projects) { 

//here 
doc.save 

if (counter % 2 == 0) 
{ 
    doc.rect(rectXOffset, rectPosition, doc.page.width - rectXOffset * 2, 25).fill("#ddd"); 
} 
else 
{ 
    doc.rect(rectXOffset, rectPosition, doc.page.width - rectXOffset * 2, 25).fill("#c9c9c9"); 
} 

rectPosition += rectYOffset; 
counter++; 

//and here 
doc.restore 

doc.text(project.projectName,100,100).fillColor("red"); 

} 


doc.write(process.env.PWD + '/PDFKitExampleServerSide.pdf'); 
+0

Спасибо за ваше время. К сожалению, текст по-прежнему или в том же цвете, что и прямоугольник, или он все еще находится под ним. – Sysrq147

+0

как насчет размещения .fillColor() сперва следует .text() – miirumatsu

+0

Не работает, но я пробовал отличную версию из pdfmake, которая работает: https://www.npmjs.com/package/pdfmake- browserified. Это может быть полезно для вас. У него есть более простой способ генерации таблицы. – Sysrq147