-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathPDFConverter.java
34 lines (30 loc) · 1.32 KB
/
PDFConverter.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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
* para PDF
*
* @param bytesArquivo
* @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();
}
}
}