繁体   English   中英

无法将base64字符串转换为pdf

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM