Como converter array de bytes para Object e vice-versa?

Boa tarde,

Estou tentando fazer essa conversão conforme o título, mas não consigo pois recebo o seguinte erro:

org.apache.commons.lang3.SerializationException: java.io.StreamCorruptedException: invalid stream header: 25504446
	at org.apache.commons.lang3.SerializationUtils.deserialize(SerializationUtils.java:195)
	at org.apache.commons.lang3.SerializationUtils.deserialize(SerializationUtils.java:220)
	at mocks.consultaboletos.PDFRenderable.getRawDetails(PDFRenderable.java:28)
	at mocks.consultaboletos.Teste.main(Teste.java:14)
Caused by: java.io.StreamCorruptedException: invalid stream header: 25504446
	at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:781)-84
-19
0
5
112

	at java.io.ObjectInputStream.<init>(ObjectInputStream.java:278)
	at org.apache.commons.lang3.SerializationUtils.deserialize(SerializationUtils.java:189)
	... 3 more

Estou fazendo da seguinte forma.

Convertendo de bytes para object:

	public Object getRawDetails() {
		Object obj = null;
		byte[] bytes = null;
		try{
			FileInputStream is = new FileInputStream(new File ("c:/MeuPrimeiroBoleto.pdf"));
			bytes = IOUtils.toByteArray(is);
			obj = SerializationUtils.deserialize(bytes);

		}catch (Exception e){
			e.printStackTrace();
		}
		
		return obj;
	}

Convertendo de Object para bytes:

	PDFRenderable pdf = new PDFRenderable();
		byte[] buf = SerializationUtils.serialize((Serializable) pdf.getRawDetails());
		for(int i = 0; i < buf.length; i++){
			System.out.println(buf[i]);
		}

Alguém poderia me ajudar com isso por favor?

Obrigado.

Um PDF não está em formato Java ObjectInput/OutputStream, portanto não pode ser desserializado. Você vai tomar uma exceção de qualquer modo.

Explicação: o formato PDF foi definido antes de a linguagem Java ter sido criada. Portanto não há como ele ser compatível com ObjectInput/OutputStream, que não foi criado com a finalidade de recuperar arquivos PDF.