jsPDF SVG неверная строка base64 - PullRequest
       18

jsPDF SVG неверная строка base64

1 голос
/ 27 февраля 2020

Я пытаюсь добавить SVG к документу PDF. Я использую библиотеку jsPDF. SVG извлекается из диаграммы D3, представленной на веб-странице. Я использую функцию window.btoa() для преобразования SVG в строку base64. Чтобы сделать его действительным изображением, я добавляю data:image/svg+xml;base64, в начало строки.

const unit = "pt";
const size = "A4"; // Use A1, A2, A3 or A4
const orientation = "landscape"; // portrait or landscape

...

const doc = new jsPDF(orientation, unit, size);
var svg = document.getElementById("svg");
var s = new XMLSerializer().serializeToString(svg);
var img = "data:image/svg+xml;" + window.btoa(s);
doc.addImage(img, 0, 0, 100);

Это приводит к ошибке:

Uncaught Error: Supplied Data is not a valid base64-String

Я попытался просто отобразить содержание через <img src="data:..."/>, которое работает. Я также пытался использовать внешние инструменты для преобразования svgs в base64 и использовать эту строку c. Это приводит к той же ошибке.

Я понимаю, что есть похожие вопросы, но, похоже, нет ни одного, который бы касался отклонения строки base64.

...