【问题标题】:How can I convert a base64 string to a base64 PDF string?如何将 base64 字符串转换为 base64 PDF 字符串?
【发布时间】:2017-09-21 18:06:19
【问题描述】:

如果有人能阐明我遇到的问题,我将不胜感激。

我在 AngularJS 中使用 .pdf 查看器,它来自 base64 以模态显示文档。当 base64 是从 .pdf 文档生成时,这很有效。

这个 base64 是在后端 (Java) 中使用 Base64.getEncoder().encodeToString() 函数生成的。

有没有办法将不同类型的文件(.jpeg、.png、.docx)编码(可以使用 JavaScript 或 Java)为代表该文件但采用​​ .pdf 格式的 base64?

如果我的问题不清楚,请随时纠正我!

提前致谢。

【问题讨论】:

    标签: javascript java angularjs pdf base64


    【解决方案1】:

    文件格式在源中定义(即,文件创建为 PDF、PNG、JPEG 等),如果不转换原始文件,就无法在 PDF 查看器中查看任何非 PDF 文件格式为 PDF。

    编辑

    如果您有兴趣将文件转换为 PDF,有几个开源库可以提供帮助。一个常见的例子是Apache PDF Box,但也有很多其他的选择。

    【讨论】:

    • 那么首先将文件转换为.pdf,然后将.pdf转换为base64字符串的唯一解决方案是什么? (比方说,通过使用“documents4j”?)
    • @Vitz 我会说是的,除非你想使用其他特定的查看器来处理你正在处理的文件格式。
    • @Vitz 此外,您不一定需要在将内容流式传输到客户端(即您的 JavaScript 代码)之前将其转换为 Base64。如果您在响应中设置正确的Content-Type 标头,您可以按原样流式传输任何二进制文件,并且应用程序服务器将负责将其转换为 Base64。例如,如果您将 PDF 文件存储在 byte[] pdf 变量中,则可以使用 response.getOutputStream().write(pdf) 对其进行流式传输。
    猜你喜欢
    • 2021-12-12
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多