簡體   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