Из таблицы DB2 у меня есть blob, который я конвертирую в массив байтов, поэтому я могу работать с ним. Мне нужно взять массив байтов и создать PDF
из него.
Это то, что у меня есть:
static void byteArrayToFile(byte[] bArray) {
try {
// Create file
FileWriter fstream = new FileWriter("out.pdf");
BufferedWriter out = new BufferedWriter(fstream);
for (Byte b: bArray) {
out.write(b);
}
out.close();
} catch (Exception e) {
System.err.println("Error: " + e.getMessage());
}
}
Но созданный PDF
не прав, у него есть куча черных строк, идущих сверху вниз.
Я действительно смог создать правильный PDF
, написав веб-приложение, используя в основном тот же процесс. Основное различие между веб-приложением и кодом было в этой строке:
response.setContentType("application/pdf");
Итак, я знаю, что массив байтов - это PDF
, и это можно сделать, но мой код в byteArrayToFile
не будет создавать чистый PDF
.
Любые идеи о том, как я могу заставить его работать?