【发布时间】:2019-07-19 11:23:19
【问题描述】:
在我的应用程序中,pdf 报告仅在打印预览中打开,允许用户直接打印 pdf 文档。现在我想自动化这个来验证 pdf 内容。
我通过base64中的api获得了pdf内容[确实拆分以仅获取数据],我尝试在解码后转换为字节数组,但它只打印垃圾字符。[字节数组到字符串] 现在我已经将此数据转换为 ByteBuffer 并希望将其写入 pdf。
ByteBuffer decodedBytes = new BASE64Decoder().decodeBufferToByteBuffer(
new String(base64split2[1].substring(0, base64split2[1].length() - 1))
);
谁能告诉我如何将这个 ByteBuffer 的解码字节转换为 pdf。
谢谢
【问题讨论】:
-
写入该缓冲区的文件
-
@josejuan 我可以将一个字节写入文件,但是当我尝试写入 bytebuffer 时,我得到了 FileOutputStream 类型中的 write(int) 方法不适用于参数 (ByteBuffer)跨度>
-
然后查找“如何将
ByteBuffer写入文件”(与应用程序、报告和pdf 无关)参见stackoverflow.com/help/how-to-ask -
您可以使用
ByteBuffer.array()转换为字节数组,然后写入该数组。但我不确定这是否是您的问题。 -
或者你可以在你的字符串上使用
Base64.getDecoder().decode(),它会带来一个字节数组。顺便说一句,字符串不需要“新字符串”。
标签: java pdf automation pdfbox bytebuffer