在 Javascript 中将 PDF 转换为 Base64 编码的字符串
Posted
技术标签:
【中文标题】在 Javascript 中将 PDF 转换为 Base64 编码的字符串【英文标题】:Convert PDF to a Base64-encoded string in Javascript 【发布时间】:2012-11-12 09:27:31 【问题描述】:我需要使用 javascript 将 PDF 文件编码为 Base64。我可以在 Javascript 中创建 Base64 编码的 jpeg 或 png 图像,但我找不到任何方法或示例代码来从 PDF 文件创建 Base64 编码的字符串。
有没有使用 html5 画布的解决方案?
谢谢。
【问题讨论】:
***.com/questions/12092633/… and .window.open("data:application/pdf;base64," + Base64.encode(out)); 【参考方案1】:试试这个:-
<input id="inputFile" type="file" onchange="convertToBase64();" />
<script type="text/javascript">
function convertToBase64()
//Read File
var selectedFile = document.getElementById("inputFile").files;
//Check File is not Empty
if (selectedFile.length > 0)
// Select the very first file from list
var fileToLoad = selectedFile[0];
// FileReader function for read the file.
var fileReader = new FileReader();
var base64;
// Onload of file read the file content
fileReader.onload = function(fileLoadedEvent)
base64 = fileLoadedEvent.target.result;
// Print data in console
console.log(base64);
;
// Convert data to base64
fileReader.readAsDataURL(fileToLoad);
</script>
【讨论】:
此解决方案适用于各种浏览器和文件类型【参考方案2】:这是一个人的做法:
http://blogs.adobe.com/formfeed/2009/08/base64_encode_a_pdf_attachment.html这里有一个链接,它提供了其他几种可能的解决方案:
Base64 encoding and decoding in client-side Javascript【讨论】:
我之前看过这个链接,并在你也建议了这个链接之后试了一下blogs.adobe.com/formfeed/2009/08/… 这个适用于 txt 文件,但不适用于 pdf。当我写 var inputStream = event.target.getDataObjectContents("1.pdf"); document.getElementById('data2').value = inputStream;它不返回任何值。此外,您共享的第二个链接不包含任何关于 pdf 到字符串转换的内容。它只显示了base64编码,我对base64编码图像或字符串没有问题。 我的意思是获取 pdf 文件的 base64 编码字符串表示形式。 @onuryilmaz 你找到答案了吗?我也有同样的问题。以上是关于在 Javascript 中将 PDF 转换为 Base64 编码的字符串的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 python 中将包含 JavaScript 图表的 html 文件转换为 PDF?
在 Javascript 中将 PDF 转换为 Base64 编码的字符串