Estou consultando um WebService que, segundo os desenvolvedores, retorna em determinado momento o binário de um PDF que precisarei salvar em disco. O retorno é algo semelhante a JVBERi0xLjIgCiXi48/TIAoxIDAgb2JqIAo8PCAKL1R5 […] (e mais um zilhão de caracteres).
Aí vem minha dúvida: como salvo uma String com este conteúdo como um arquivo PDF? Tentei da seguinte forma (sem sucesso): [code]File pdf = new File( “C:\teste.pdf” );
FileOutputStream stream = new FileOutputStream( pdf );
stream.write( content.getBytes() );
stream.flush();
stream.close();[/code]
Porém, sempre obtenho uma mensagem (ao tentar abrir o PDF) informando que o arquivo não é válido (corrompido). Alguém poderia ajudar com qualquer ideia? Grato desde já.
nativamente não tem como, vc teria que utilizar uma biblioteca adicional, o itext é uma opção, há outras, ams acho que a itext é a mais facil e mais utilizada
Pra falar a verdade, ainda não entendi como isto poderia me ajudar.
De que forma vou conseguir converter uma String tal qual JVBERi0xLjIgCiXi48/TIAoxIDAgb2JqIAo8PCAKL1R5 […] (e mais um zilhão de caracteres) para um arquivo PDF? Essa String não deve ser o conteúdo do PDF, ela é o PDF.
Como um arquivo, que é um array de bytes, pode ser expressado como umonte de caracteres? Se fosse um array de bytes até faria muito sentido, era só salvar como PDF.
EXATAMENTE! O retorno do WebService veio codificado em Base64. O problema é que o pessoal que fez o WS não me falou nada disso… Mesmo assim, obrigado a todos pela ajuda.