java - 将base64编码的pdf转换为文件输入流,而不将文件写入系统

标签 java pdf file-io base64 pdfbox

作为客户请求的一部分,我收到了一个 base64 PDF 输入,我需要将此文件转换为文件输入流以与 PDF BOX 库一起使用。我试图在不将文件写入驱动器并直接将 base64 pdf 读入文件输入流的情况下实现此目的。

我能做什么: 将base64编码的pdf转换为文件并写入驱动器 将文件读入文件输入流

我想做的事情: 将 base64 编码的 PDF 转换为文件输入流以与 PDFBOX 一起使用。 我试图避免将文件写入磁盘。

最佳答案

在 pdfbox 中,您可以从 InputStream 加载 pdf。它不需要是FileInputStream

使用以下代码,您可以获得解码后的 pdf 的输入流。
注意:根据用于编码 pdf 的方案,您可能需要使用:.getMimeDecoder() 而不是 .getDecoder()

InputStream decoded = java.util.Base64.getDecoder().wrap(inputStream);
PDDocument.load(decoded);

关于java - 将base64编码的pdf转换为文件输入流,而不将文件写入系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49688005/

相关文章:

java - 将 SAP netweaver 7.0 项目迁移到 7.4

java - 使用 Maven 的并行库版本

java - 针对时间戳列的 Oracle SQL where 子句

pdf - HTML PDF 查看器

python - 替换周围已知但字符串值未知的字符串 Python

c# - 如果文件在我的程序之外被修改,如何得到通知?

命令中的 Perl 管道打开问题

java - 是否可以直接将 Button 添加到 ScrolledComposite 中?

c++ - Direct2D 渲染到命令列表并打印 : Picture Compression

java - IText7 仅在新文档上创建表单/小部件