我整天都在用头撞墙。我有一个我们生成的 PDF 文件。PDF 文件在 Acrobat 中看起来不错。
我需要在base64中编码文件。使用 Apache 编解码器库我这样做:
String base64buf = Base64.encodeBase64String( m_reportText.getBytes( "UTF-8" ) );
作为测试,我将 base64buf 写入文件:
Files.write( new File( "report.b64" ).toPath(), base64buf.getBytes( "UTF-8") );
然后我把它转换回来,看看它是否工作:
String encodedName = "report.b64";
String decodedName = "report.pdf";
// Read original file.
byte[] encodedBuffer = Files.readAllBytes( new File( encodedName ).toPath() );
// Decode
byte[] decodedBuffer = Base64.decodeBase64( encodedBuffer );
// Write out decodedBuffer.
FileOutputStream outputStream = new FileOutputStream( decodedName );
outputStream.write( decodedBuffer );
outputStream.close();
我在 Acrobat 中打开 report.pdf,它是一个空白文档。它具有正确的页数(全部为空白)。
我在这里想念什么?