Enquanto extrair texto de alguns retornos PDFs PDFBox jargão. Isso é por causa de um mapeamento Unicode em falta ou danificado. Eu posso ver seguintes avisos no console. Eu quero ser capaz de detectar que este seja capaz de bandeira desses PDFs como corrupto.
Eu estou procurando uma solução que é melhor do que os registros de análise.
Obrigado pela ajuda!
Amostra Console Logs:
WARNING: No Unicode mapping for CID+32 (32) in font F6
WARNING: Failed to find a character mapping for 32 in TimesNewRoman,Bold
Abaixo mencionados pós também fala sobre a mesma questão, mas não falar sobre maneiras de ser capaz de detectar isso no lado de código e manipular o mesmo: Problema com leitura de alguns caracteres Unicode para fora de um PDF usando PDFBox
Uma quarta possibilidade (ao lado do três dada em resposta Aaron Digulla) é substituir showGlyph()
quando se prolonga a PDFTextStripper
classe:
protected void showGlyph(Matrix textRenderingMatrix, PDFont font, int code, String unicode, Vector displacement) throws IOException
{
super.showGlyph(textRenderingMatrix, font, code, unicode, displacement);
if (unicode == null || unicode.isEmpty())
{
// do stuff
}
}