Мне нужно конвертировать HTML в PDF.Я попробовал с jsPDF и прочитал много вопросов здесь на stackoverflow об этом.Я попробовал все методы, которые существуют, html (), fromHtml, html2pdf и html2canvas.Но у всех них есть различные проблемы.Пропущенный контент, нечеткий контент или поля полностью отключены.
Поэтому я пытаюсь выбрать другой маршрут.Я нашел следующий фрагмент кода для преобразования в документ Word.И это работает.
function exportHTML(){
var header = "<html xmlns:o='urn:schemas-microsoft-com:office:office' "+
"xmlns:w='urn:schemas-microsoft-com:office:word' "+
"xmlns='http://www.w3.org/TR/REC-html40'>"+
"<head><meta charset='utf-8'><title>Export HTML to Word Document with JavaScript</title></head><body>";
var footer = "</body></html>";
var sourceHTML = header+document.getElementById("source-html").innerHTML+footer;
var source = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(sourceHTML);
var fileDownload = document.createElement("a");
document.body.appendChild(fileDownload);
fileDownload.href = source;
fileDownload.download = 'document.doc';
fileDownload.click();
document.body.removeChild(fileDownload);
}
Однако я не хочу, чтобы файл слова загружался.Мне нужно захватить его и преобразовать в строку base64, потому что тогда я могу отправить его в остальные API, которые могут преобразовать слово документа в PDF.Этот остальные API не поддерживает HTML напрямую, в противном случае я бы просто отправил HTML.Отсюда обходной путь к слову, а затем к PDF.ps я не могу использовать онлайн-решение pdf из-за конфиденциальной информации, остальные API - это внутренняя служба.