[英]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.