I have a fetch request that returns an HTML doc
<!DOCTYPE html><html lang="en"><head>..../body></html>
The next thing I'm trying to do is pass it to an API that will let me download it as a PDF
fetch("data:application/pdf;base64,"+encoded_data...)
I saw that I can use window.btoa() to encode a string into base64. However I'm stuck trying to turn the HTML file into a string, to pass into btoa()
fetch("https://www.website.com/cap/people/streamPdf/1214192793"})
.then(resp => {return resp.text()})
.then(data => {
//this is the HTML file
var x = String(data)
console.log(x)
var base64 = window.btoa(x)
// console.log(base64)
})
I'm getting this error:
Uncaught (in promise) DOMException: Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range.
at <anonymous>:21:25
I'm assuming this is because what I'm passing btoa isn't a string?