Bom dia senhores,
Estou com um problema e até agora não consegui resolver.
Bom, meu sistema funciona mais ou menos assim, leio um arquivo PDF, verifico quais páginas são de uma determinada empresa, e salvo em um único arquivo todas páginas deste cliente.
Quando o pdfbox le arquivos PDF 1.5 ele salva normal o meu arquivo. Mas quando o pdfbox le arquivo PDF 1.3 ele consegue realizar a leitura e até consegue salvar, mas quando vou abrir ele da o erro abaixo.
"Há um erro nesta página. Talvez o acrobat não exiba a página corretamente. Entre em contato com a pessoa que criou o documento PDF para corrigir o problema"
Segue o trecho do código onde eu faço a lógica...
public void uploadPDF(FileUploadEvent event) throws IOException {
List<Cliente> clienteList = new ClienteDAO().listarClientes();
InputStream fileInputStream = event.getFile().getInputstream();
PDFParser parser = new PDFParser(fileInputStream);
parser.parse();
pdfDocument = parser.getPDDocument();
PDDocumentCatalog pddocC = pdfDocument.getDocumentCatalog();
List<PDPage> pages = pddocC.getAllPages();
int i= 0;
for(Cliente cliente : clienteList){
i =0;
//Inicia o DTO que mostra na tela
FatiarArquivosDTO linhaFatiarArquivos = new FatiarArquivosDTO();
linhaFatiarArquivos.setNomeEmpresa(cliente.getNome());
linhaFatiarArquivos.setIdEmpresa(cliente.getIdCliente());
linhaFatiarArquivos.setCnpjcpf(cliente.getCnpjcpf());
//Declarando lista de página do Cliente
List<PDPage> listaPages = new ArrayList<PDPage>();
for(PDPage pDPage : pages){
if(pDPage.getContents().getInputStreamAsString().indexOf(cliente.getCnpjcpf())!=-1){
listaPages.add(pDPage);
}
i++;
}
linhaFatiarArquivos.setListPagina(listaPages);
if(listaPages.size()>0){
getListaTabela().add(linhaFatiarArquivos);
}
}
}
