Análisis incorrecto con PdfTextExtractor de iText

Me encuentro con un problema cuando intento leer el contenido de un documento PDF. Estoy usando iText 2.1.7 con Java, y tengo que analizar el contenido de un documento PDF: Al principio estaba utilizando el PdfTextExtractor 's getTextFromPage método y que funcionaba bien, pero sólo cuando la página es sólo texto, si contiene una imagen, entonces la Cadena que obtengo con getTextFromPage es un conjunto de símbolos sin sentido (¿tal vez una codificación de caracteres diferente?), y pierdo el contenido de toda la página. Intenté con la última versión de iText y funciona bien, pero si no me equivoco, la licencia no sería totalmente gratuita (estoy trabajando en una aplicación web para un cliente comercial, que sirve archivos PDF sobre la marcha), así que No puedo usarlo. Realmente agradecería si tiene alguna sugerencia.

En caso de que lo necesite, aquí está el código:

PdfReader pdf = new PdfReader(doc);  //doc is just a byte[]
int pageCount = pdf.getNumberOfPages();
for (int i = 1; i <= pageCount; i++) {
    PdfTextExtractor pdfTextExtractor = new PdfTextExtractor(pdf);
    String pageText = pdfTextExtractor.getTextFromPage(i);

Gracias de antemano, saludos.

Respuesta 1

Estoy intentando crear una acción HTTPRouter (dentro de un esb) que envía algo de XML a una URL externa. La URL es segura, pero tiene un certificado autofirmado para el que no tengo el almacén de claves. Abajo ...

Está bien documentado que un código como el siguiente Rectángulo final limita = device.getDefaultConfiguration (). GetBounds (); Inserciones finales screenInsets = Toolkit.getDefaultToolkit () ....

Tengo una conexión JNDI a un servidor LDAP (Active Directory en este caso). También ctx.extendedOperation (new StartTlsRequest ()) para obtener una conexión segura. En esta conexión necesito validar ...

Imagine una aplicación bancaria simple en la que se realiza un caso de uso de transferencia de fondos. Mientras escribe la operación del fondo de transferencia, el programador / diseñador tiene las siguientes dos opciones Escribir una operación ...