diff --git a/PDFConverter.java b/PDFConverter.java index c7fb195..2d1d3e0 100644 --- a/PDFConverter.java +++ b/PDFConverter.java @@ -1,34 +1,36 @@ public class ConversorPDF { - - // A aplicação foi projetada para tratar arquivos WORD, temos que cuidar para que - // alterações não mudem o comportamento, para que não exista reflexo para clientes - // legados - public String tipoDocumento = "WORD"; - /** - * Esse método recebe o como entrada o arquivo que vai ser convertido + * Esse método recebe como entrada o arquivo que vai ser convertido * para PDF * * @param bytesArquivo + * @param tipoDocumento * @return */ - public byte[] converteParaPDF(byte[] bytesArquivo){ - if(tipoDocumento.equals("WORD")) { - InputStream entrada = new ByteArrayInputStream(bytesArquivo); - com.aspose.words.Document documentoWord = new com.aspose.words.Document(entrada); - ByteArrayOutputStream documentoPDF = new ByteArrayOutputStream(); - documentoWord.save(documentoPDF, SaveFormat.PDF); - - return documentoPDF.toByteArray(); - } else { - InputStream entrada = new ByteArrayInputStream(bytesArquivo); - Workbook workbook = new Workbook(entrada); - PdfSaveOptions opcaoSalvar = new PdfSaveOptions(); - opcaoSalvar.setCompliance(PdfCompliance.PDF_A_1_B); - ByteArrayOutputStream documentoPDF = new ByteArrayOutputStream(); - workbook.save(documentoPDF, opcaoSalvar); - - return documentoPDF.toByteArray(); - } + public byte[] converteParaPDF(byte[] bytesArquivo, String tipoDocumento){ + + /* Verifica se foi passado um arquivo e um tipo de documento, caso não, + * não existe necessidade de executar o método, pelo contrário, + * caso seja ele resultará uma exception para o usuário. + */ + if (bytesArquivo != null && tipoDocumento != null){ + + InputStream entrada = new ByteArrayInputStream(bytesArquivo); + + if(tipoDocumento.equals("WORD")) { + com.aspose.words.Document documentoWord = new com.aspose.words.Document(entrada); + ByteArrayOutputStream documentoPDF = new ByteArrayOutputStream(); + documentoWord.save(documentoPDF, SaveFormat.PDF); + + } else if(tipoDocumento.equals("EXCEL")) { + Workbook workbook = new Workbook(entrada); + PdfSaveOptions opcaoSalvar = new PdfSaveOptions(); + opcaoSalvar.setCompliance(PdfCompliance.PDF_A_1_B); + ByteArrayOutputStream documentoPDF = new ByteArrayOutputStream(); + workbook.save(documentoPDF, opcaoSalvar); + } + + return documentoPDF.toByteArray(); + } } }