如何用R将API返回的Base64编码PDF二进制数据转为可读取PDF?
解决R中Base64编码PDF转存为可读取文件的问题
你当前的问题出在使用save()函数保存解码后的二进制数据——这个函数是用来保存R对象的,会自动添加R专属的元数据,导致生成的文件不符合PDF格式规范。正确的做法是用writeBin()直接写入原始二进制内容,步骤如下:
正确代码示例
# 加载所需包 library(jsonlite) library(openssl) # 读取包含Base64编码的JSON文件 json_content <- fromJSON("data.txt") # 对Base64编码的PDF数据进行解码 decoded_binary <- base64_dec(json_content$data) # 将解码后的二进制内容写入PDF文件 writeBin(decoded_binary, "output.pdf")
关键说明
base64_dec():负责将JSON中的Base64字符串解码为原始二进制字节向量writeBin():直接把二进制字节写入文件,完全保留PDF的原始格式,不会添加额外元数据,这样生成的文件就能被PDF阅读器正常识别
内容的提问来源于stack exchange,提问作者Swyler
相关产品推荐
相关产品推荐

