我收到base64 PDF输入作为客户请求的一部分,我需要将此文件转换为文件输入流以与PDF BOX库一起使用。我试图在不将文件写入驱动器并直接将base64 pdf读入文件输入流的情况下实现此目的。
我能做什么: 将base64编码的pdf转换为File并在驱动器上写入 将文件读入文件输入流
我想做什么: 将base64编码的PDF转换为文件输入流,以将其与PDFBOX一起使用。 我试图避免将文件写入磁盘。
答案 0 :(得分:2)
在pdfbox中,您可以从InputStream
加载pdf。它不需要是FileInputStream
。
使用以下代码,您可以获得已解码pdf的inputStream
注意:根据用于编码pdf的方案,您可能需要使用:.getMimeDecoder()
而不是.getDecoder()
。
InputStream decoded = java.util.Base64.getDecoder().wrap(inputStream);
PDDocument.load(decoded);