Установить цвет текста моего объекта jsPDF не работает в IE - PullRequest
0 голосов
/ 08 мая 2019

У меня есть небольшой фрагмент текста, который представляет состояние чего-либо в моем PDF-файле. Я хочу, чтобы текст Fail был красным с красным кружком рядом с ним, а Pass должен быть зеленым текстом с зеленым кружком. Это прекрасно работает в chrome и firefox, но в IE отображается черным цветом (работает с версией 11, но, вероятно, также встречается и во всем ниже).

Это соответствующий код:

if(status === Status.FAIL){
     pdf.setTextColor("#ff0000")
     pdf.setFillColor("#ff0000")
}
else if(status === Status.PASS){
     pdf.setTextColor("#00ff00")
     pdf.setFillColor("#00ff00")
}
else if(status === Status.WARNING){
     pdf.setTextColor("#FFD700")
     pdf.setFillColor("#FFD700")
}

pdf.text(status, 747, offset);
pdf.circle(740, offset - 3.5, 5, "F")

IE сгенерированный PDF

Буквально в любом другом браузере

1 Ответ

0 голосов
/ 08 мая 2019

Попробуйте использовать RGB вместо шестнадцатеричного кода при настройке цвета. Я сделал демонстрацию, чтобы установить цвет объектов jsPDF, и это хорошо работает в IE и Chrome:

<script src="https://cdn.bootcss.com/html2canvas/0.5.0-beta4/html2canvas.js"></<>script>
    <script src="https://cdn.bootcss.com/jspdf/1.3.4/jspdf.debug.js"></<>script>
    <script>
        function init() {
            var doc = new jsPDF();

            doc.setFillColor(255, 0, 0);
            doc.circle(20, 20, 2, 'F');

            doc.setTextColor(255, 0, 0);
            doc.text(24, 21.5, 'Fail');

            doc.setFillColor(0, 255, 0);
            doc.circle(20, 30, 2, 'F');

            doc.setTextColor(0, 255, 0);
            doc.text(24, 31.5, 'Pass');

            doc.setFillColor(255, 215, 0);
            doc.circle(20, 40, 2, 'F');

            doc.setTextColor(255, 215, 0);
            doc.text(24, 41.5, 'Warning');

            doc.save('Test.pdf');
        }
    </script>
</head>
<body onload="init()">
</body>
...