Mostrando entradas con la etiqueta input. Mostrar todas las entradas
Mostrando entradas con la etiqueta input. Mostrar todas las entradas

viernes, 20 de junio de 2014

Conversión de archivos PDF y WORD a fragmentos en TXT en Java

Este mes estuve trabajando en una librería customizada en java la cual debía convertir ciertos documentos, algunos con extensión PDF y otros en WORD (.doc), en archivos de texto plano TXT, aparte de esta tarea se requería fragmentar los archivos TXT según ciertos indicadores de corte (TOKENS).



Todo este proceso aparentemente sin sentido era necesario pues existe una arquitectura de búsqueda de IBM denominada Content Analytics que realiza la tarea de una manera mas óptima y para lo cual requiere la fragmentación.



La parte de extracción de texto plano ,la desarrolle basandome en las siguientes API's: para PDF use iText (anteriormente denominada lowagie) y para WORD use Apache POI. Añadí finalmente un archivo de configuración (config.properties) en donde se especifica una ruta de entrada para PDF, una ruta de entrada para WORD y una sola ruta de exportación para ambos, aparte también añadí un vector de tokens para PDF separado por comas y otro vector de tokens para WORD, también separado por comas.Existen en la solución dos archivos demo.java uno es para PDF y otro es para WORD. Espero les sirva, les dejo aquí el link del drive, hasta la próxima!


jueves, 23 de septiembre de 2010

Formatear un input tipo text a entero, o con 2 decimales, o con separador de n caracteres en n caracteres

Hola a todos, despues d eun largo tiempo de ausencia retomo la blogosfera para compartir algo con lo que estruve lidiando esta semana, se me presento el problema de formatear una caja de texto para que acepte solo numeros enteros y otra caja de texto para q acepte numeros con n decimales, les explicare el codigo a usar y al final del articulo dejare los archivos para que descarguen los ejemplos.

Primero veremos el ejemplo para numero entero:

Javascript a utilizar:


function validarEntero(valor){
//intento convertir a entero.
//si era un entero no le afecta, si no lo era lo intenta convertir
valor = parseInt(valor)
//Compruebo si es un valor numérico
if (isNaN(valor)) {
//entonces (no es un numero) devuelvo el valor cadena vacia
return ""
}else{
//En caso contrario (Si era un número) devuelvo el valor
return valor
}
}
function validarFormulario(){
//extraemos el valor del campo
textoCampo = window.document.formul.texto.value
//lo validamos como entero
textoCampo = validarEntero(textoCampo)
//colocamos el valor de nuevo
window.document.formul.texto.value = textoCampo
}


Y dentro del tag body ponemos el objeto input dentro de un form:


< method="post" name="formul" action="">
Teclea un número:
< id="texto" onkeyup="validarFormulario()" onchange="validarFormulario()" name="texto">
< /form>


Ahora veremos el ejemplo para numero con 2 decimales, para esto hago la observacion que el usuario no ingresara el punto decimal por ejemplo si se desa ingresar 45.68 el usuario solo tecleara 4568 y el punto se añadira automaticamente, otro ejemplo si se desa ingresar 45.6 el usuario debera teclear solamente 4560 y se añadira el punto automaticamente.

Javascript a utilizar:


function format(input)
{
var num = input.value.replace(/\./g,'');
if(!isNaN(num)){
if(num.length>2)
{
num=num.substring(0,num.length-2)+'.'+num.substring(num.length-2);
}
input.value = num;
}

else{ alert('Solo se permiten numeros');
input.value = input.value.replace(/[^\d\.]*/g,'');
}
}


Y dentro del tag body ponemos el objeto input dentro de un form:


< form>
< type="text" id="c4" name="c4" runat="server" onkeyup="format(this)" onchange="format(this)">
< /form>


Bueno aqui les dejo los ejemplos a descargar, por tiempo no les comente el codigo del separador pero les dejo el archivo es el tercer archivo. Saludos y espero que les sirva, agradecer no cuesta nada, comenten si les gusto el post...