Base64編碼轉換爲pdfjava
public static void base64StringToPdf(String base64Content,String filePath){ BASE64Decoder decoder = new BASE64Decoder(); BufferedInputStream bis = null; FileOutputStream fos = null; BufferedOutputStream bos = null; try { byte[] bytes = decoder.decodeBuffer(base64Content);//base64編碼內容轉換爲字節數組 ByteArrayInputStream byteInputStream = new ByteArrayInputStream(bytes); bis = new BufferedInputStream(byteInputStream); File file = new File(filePath); File path = file.getParentFile(); if(!path.exists()){ path.mkdirs(); } fos = new FileOutputStream(file); bos = new BufferedOutputStream(fos); byte[] buffer = new byte[1024]; int length = bis.read(buffer); while(length != -1){ bos.write(buffer, 0, length); length = bis.read(buffer); } bos.flush(); } catch (Exception e) { e.printStackTrace(); }finally{ closeStream(bis, fos, bos); } }
pdf轉換爲Base64編碼數組
public static String PDFToBase64(File file) { BASE64Encoder encoder = new BASE64Encoder(); FileInputStream fin =null; BufferedInputStream bin =null; ByteArrayOutputStream baos = null; BufferedOutputStream bout =null; try { fin = new FileInputStream(file); bin = new BufferedInputStream(fin); baos = new ByteArrayOutputStream(); bout = new BufferedOutputStream(baos); byte[] buffer = new byte[1024]; int len = bin.read(buffer); while(len != -1){ bout.write(buffer, 0, len); len = bin.read(buffer); } //刷新此輸出流並強制寫出全部緩衝的輸出字節 bout.flush(); byte[] bytes = baos.toByteArray(); return encoder.encodeBuffer(bytes).trim(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally{ try { fin.close(); bin.close(); bout.close(); } catch (IOException e) { e.printStackTrace(); } } return null; }