将base64编码的pdf转换为文件输入流,而无需将文件写入系统

时间:2018-04-06 07:54:53

标签: java pdf file-io base64 pdfbox

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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