IExtract - Extraer informaciones desde documentos


English version  

Éste programa se distribuye bajo las condiciones de la GNU Licensia General Público; con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA, ni siquiera la garantía implícita de COMERCIABILIDAD o CONVENIENCIA PARA UN PROPÓSITO PARTICULAR.

Deutsche Version  
Versión en castellano  

IExtract es una utilidad para extraer las propiedades (título, autor y comentario) de varios tipos de documentos y presentarlas en una lista para elaboración posterior.

Los documentos siguentes están procesados (se puede añadir tipos adicionales con plugins):

HTML

Busca por el texto entre los tags <title> y </title> y el contenido de los tags meta (tanto en formato HTML 4.0 como "Dublin Core").

PNG

Imagenes del formato PNG pueden contener entradas de texto en el formato identificador - valor.

El contenido (incomprimido) de los identificadores Title, Author y Description está extraido.

GIF

Imagenes del formato GIF pueden contener entradas de comentario. Esos entradas están extraidos en el campo "comentario". Las entradas por el autor y el título hacen falta.

JPEG

El programa reconoce comentarios después de un "marcador de comentarios" (0xFFFE), en un "marcador APP1 Exif" (como le usa Windows XP) y en un "marcador APPD" (como le usan unas versiones de PhotoShop).

Documentos de Microsoft Office

Busca por el contenido de la ventana "propiedades".

Gracias al proyecto de Apache Jakarta POI y su documentación del "formato OLE2 Document Compound" (como lo usa el MS Office) todos los documentos deben estar leíble (tal vez con la excepción de documentos más grande que 6.8 MB).

Si está instalado la library zlib también se puede revisar documents del tipo Office Open XML (OOXML).

MP3

Extrae el contenido del tag ID3 (versión 1.x y 2.x). El título del álbun está puesto en el campo comentario.

OGG

Extrae el contenido del "comment header" (cabeza de comentario). El título del álbun está puesto en el campo comentario.

PDF

Documentos de PDF contienen un llamado Document Information directory (Directorio de informaciones del documento) con varias llaves. El contenido de aquel directorio está extraido (con el contenido de la llave "Subject" (sujecto) como comentario).

¡Datos codificados no están decifrados!

Documentos de StarOffice

Busca por el contenido de la ventana "propiedades".

Documentos de OpenOffice

Busca por el contenido de la ventana "propiedades".

Documentos de Abiword

Busca por el contenido de la ventana "propiedades".

Documentos en formato RTF (Rich Text Format)

Busca por el contenido del bloque "info".

La salida puede ser en el formato HTML (una tabla), XML (XHTML por defecto), LaTeX (tabular) o simple texto (o legible (separado por espacio) o legible por máquinas (en cuotas, separado por comas)). Nota que letras especiales en la información extraido está cambiado.

El comportamiento del programa está controlado por un archivo de iniciación (~/.IExtract para UNICES o %HOMEDRIVE%%HOMEPATH%IExtract.ini para Windows). Mira Formato de archivos por iniciar por por más información.

Aquel comportamiento se puede cambiar con especificar un otro archivo o opciones al programa.

Modo de empleo

   IExtract [OPCIONES] <Archivo(s)>

Los archivos busqueados pueden contener los comodines típicales de UNIX (estrella (*) por cada numero de todas las letras y, el signo de interrogación (?) por cualquiera letra sola y letras especificas en chorchetes ([) y (]), o detalladolos, especifacadolos por sus límites (separado por un guión) o sus clases (entre '[:' y ':]'). Por invertir esa selección usa la caret (^) o el signo de exclamación (!) en la primera posición). Eso también vale por la versión de Windows.

Por ejemplo:

*.mp3
Inspecta solamente archivos MP3
[A-Za-z]*
Inspecta ficheros que comienzan con una letra.
[^[:alnum:]]*
Inspecta ficheros que no comienzan con una letra o un número.
???.txt
Inspecta ficheros de texto que tienen 3 letras.

Opciones

Las opciones siguentes están reconocido del programa (opciones cortes se puede combinar juntos, si la opción larga necesita un argumento, también lo necesito su correspondencia larga. Opciones larges pueden estar acortado hasta están unique):

   -r, --recursive Investigar también directorios bajos después procesar el directorio actual
 
   -o, --output=ESTILO Especifica el estilo de la salida (text, quoted, HTML o LaTeX).
 
   -f, --format=FORMATO Formato de la salida (por defecto: %n¦-¦%t¦%a¦%c¦%d)

La salida se puede estar en columnas; indicado por un rayo (¦) en el formato.

El signo del porciento (%) indica que la letra siguente tiene significado especial:

  • %a está cambiado por el autor
  • %c está cambiado por el comentario
  • %d está cambiado por la fecha y la hora del último cambio del archivo
  • %D está cambiado por la fecha del último cambio del archivo
  • %e está cambiado por la extensión del archivo
  • %N está cambiado por el nombre del archivo sin extensión
  • %n está cambiado por el nombre del archivo
  • %N está cambiado por el nombre y el camino del archivo
  • %p está cambiado por el camino del archivo
  • %P está cambiado por el camino del archivo en estilo UNIX (separado por un slash (/)).
  • %s está cambiado por el tamaño del archivo
  • %S está cambiado por el tamaño del archivo en estilo para seres humanos
  • %t está cambiado por el título
  • %U está cambiado por el nombre y camino del archivo en estilo UNIX (separado por un slash (/)).
  • %(LETRAS) está cambiado por el primer cambio (de las reglas anteriores) que produce un text no vacio (p.e. %(tn) será el título (si hay) o el nombre del archivo)
  • %*LETRA cambia la significancia de LETRA un pocito. Para cambios del nombre del archivo causa adicional el cambio de letras especiales (cuales dependenden del modo de la salida) y por los demas suprime ese cambio adicional.

¡En todas las otras formas el '%' está borrado!

 
   -T, --title=TÍTULO Título de la salida (escrito también si no hay mas salida).

TÍTULO especifica los campos de la salida; separada por la raya (¦); cada campo tiene que contener al menos una letra.

 
   -s, --separate=TEXTO Separar subcarpetas por TEXTO (por defecto: vacio); implica recursar por subcarpetas (--recursive).

El signo del porciento (%) indica que la letra siguente tiene significado especial:

  • %e imprima el fin-de-salida por el estilo especifado
  • %n está cambiado por el nombre del la carpeta
  • %N está cambiado por el nombre y el camino de la carpeta
  • %p está cambiado por el camino hasta la carpeta
  • %P está cambiado por el camino hasta la carpeta en estilo UNIX (separado por un slash (/)).
  • %s imprima la empieza-de-salida por el estilo especifado
  • %U está cambiado por el nombre y el camino de la carpeta en estilo UNIX (separado por un slash (/)).
 
   -p, --prepend=TEXTO Especifica un texto, cual está mostrado antes cualquiera salida (p.ej. por un encabezamiento).
 
   -P, --pre-file=ARCHIVO Especifica un archivo, cual contenido está mostrado antes cualquiera salida (p.ej. por un encabezamiento).
 
   -a, --append=TEXTO Especifica un texto, cual está mostrado después cualquiera salida (p.ej. por un pie de página).
 
   -A, --app-file=ARCHIVO Especifica un archivo, cual contenido está mostrado después cualquiera salida (p.ej. por un pie de página).
 
   -e, --show-errors Incluye mensajes de error en la salida.
 
   -u, --add-unknown Muestra todos los archivos (incluyendo los inconocidos) en la salida.
 
   -n, --new=[DÍAS:]TEXTO Muestra TEXTO en el primer campo por archivos más jovenes que DÍAS días (por defecto: 30).

DÍAS puede faltar o tener un apéndice de multiplicación: m por 30.

 
   -i, --include=LISTA Especifica cuáles archivos deben estar investigados; eso puede también ser una lista; separado por la la letra de separación del camino del sistema operativo (dos puntos (:) en Unices; punto y coma (;) en Windows).

Los archivos pueden contener los comodines típicales de UNIX. Detalles se encuentran más arriba en el documento.

 
   -x, --exclude=LISTA Especifica cuáles archivos no deben estar investigados; eso puede también ser una lista; separado por la la letra de separación del camino del sistema operativo (dos puntos (:) en Unices; punto y coma (;) en Windows).

Los archivos pueden contener los comodines típicales de UNIX. Detalles se encuentran más arriba en el documento.

 
   -I, --ini-file=ARCHIVO Lee más opciones del archivo especificado. Mira Formato de archivos por iniciar por más información.

 
   -t, --threads=NÚMERO Pone el número por los proceses del fondo (threads) para examinar los archivos (adicional al proceso por la búsqueda).

Esa opción es solamente disponible, si el programa estaba configurado (compilado) con --enable-threads (o -DENABLE_THREADS)!

 
   -S, --sort Sortea los fichereos alfabeticamente.
 
   -M, --mode=[MODO] Specifica, como se determina el tipo del archivo. Modos posibles son:
Ext
De la última extensión del nombre.
EXT
De la última extensión del nombre (sin diferenciar entre mayúsculas y minúsculas).
AllExt
De la última extensión conocida del nombre.
AllEXT
De la última extensión conocida del nombre (sin diferenciar entre mayúsculas y minúsculas).
Content
Del contenido del archivo. Eso busca para identificaciones caracteristicas de los diferentes tipos de archivos.
 
   -V, --version Muestra información sobre la versión y termina.
 
   -h, -?, --help Muestra la ayuda y termina.
 
   Archivo(s) Especifica la carpeta y/o los archivos para investigar.

Las opciones append y app-file (o equivalente prepend y pre-file) pueden ser repetidos. Cada opción nuevo añade su texto a los anteriores.

Plugins

Plugins son pequeñas extensiones cual añaden más tipos de documentos.

Son realisados como bibliotecas compartidas (para UNIX) o DLLs (para Windows) que ofrecen dos subrutinas:

processFile
Lee las propiedades de un archivo
getFileType
Pruebe si el archivo es de un cierto tipo

Hay un ejemplo en src/Plugins/Text.cpp.

Formato de archivos por iniciar

Los archivos por iniciar tienen el siguente formato (entradas pueden faltar):

   [Output]
   Format=FORMATO
   Title=TEXTO
   TextForNewFiles=TEXTO
   MaxAgeForNewFiles=DÍAS
   DirSeparatorText=TÍTULO
   Style=ESTILO
   SortFiles=1

   [FileType]
   Mode=Content

   [Handler]
   <Extención1>=<Plugin1>
   <Extención2>=<Plugin2>
   <ExtenciónN>=<PluginN>

¡Pasan los mismos cambios como con las opciones!


Requisitos

Mi libYGP library; también disponible como proyecto de Sourceforge. Veanse http://libymp.sourceforge.net por detalles.

La library zlib instalada permite revisar documentos del tipo Office Open XML (XML).

La versión de Windows no tiene requisitos. Pero tenga en cuenta que está cross-compiled con MinGW y por eso se comporta mas bien como una aplicación de Unix (o sea, se usa el slash como símbolo de separación entre directorios). ¡No hay ningún tipo de soporte!


Download

Desde el area de download de Sourceforge.


Envia comentarios
SourceForge.net Logo