[英]Unable to convert base64 string to pdf
Document document = new Document();
String b64Image = medikmResourceRequest.getResourceImage();
String fileName = resourceDir+"/"+medikmResourceRequest.getPhysicianId()+"/"+medikmResourceRequest.getName()+" "+ System.currentTimeMillis() +".pdf";
PdfWriter.getInstance(document, new FileOutputStream(new File(fileName)));
document.open();
byte[] decoded = Base64.decodeBase64(b64Image.getBytes());
document.add(Image.getInstance(decoded));
document.close();
上面的代码不适用于大图像,它们被裁剪了,但是对于小图像却可以正常工作。
请提出建议。
该错误是由medikmResourceRequest.getResourceImage()
和b64Image.getBytes()
。
您的程序不应通过String传输byte[]
(图像数据)。 当JVM将byte[]
转换为String时,如果字节数据无法映射到String的字符集的char。 它将替换为?
。 b64Image.getByte()
返回的byte[]
与原始数据不同,并导致图像损坏。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.