domingo, 30 de septiembre de 2012

Análisis de PDF con Python


Para esto podemos usar tres herramientas:

  • peepdf.py
  • pdf-parser.py
  • pdfid.py
Estoy usando MS-DOS, pero también pueden usar  la terminal de PowerShell o la de Linux y funciona igual. El fin de esto es comprobar que los documentos están bien formados antes de realizar un parseo.



peepdf.py

Antes se debe tener asignada la variable de entorno (la ruta a la carpeta) en el path.














Volcado de comando en MS-DOS:

comando opciones > archivo.txt


En la terminal de comandos teclear:

peepdf.py  documento.pdf  >  archivo.txt

Con lo anterior se realiza el análisis del documento. Para ver el contenido del análisis teclear:

start notepad archivo.txt


pdfid.py

Antes se debe tener asignada la variable de entorno (la ruta a la carpeta) en el path.

En la terminal de comandos teclear:

pdfid.py  documento.pdf  >  archivo.txt

Con lo anterior se realiza el análisis del documento. Para ver el contenido del análisis teclear:

start notepad archivo.txt

pdf-parser.py

Antes se debe tener asignada la variable de entorno (la ruta a la carpeta) en el path.

En la terminal de comandos teclear:

pdf-parser.py  documento.pdf  >  archivo.txt

Con lo anterior se realiza el análisis del documento. Para ver el contenido del análisis teclear:

start notepad archivo.txt

nota: en caso de generar un documento vacío indica que el documento no es un PDF válido

Hay otras herramientas (librerías,programas,etc.) que nos permiten analizar PDF, pero creo estas son las mejores.

domingo, 23 de septiembre de 2012

Microsoft Power Shell ... el MS-DOS mejorado




MPS (Microsoft PowerShell) 

Permite automatizar tareas, algo así como lo que puedes hacer con MS-DOS pero a un mejor nivel.  Es como tener una terminal Linux en Windows.

Algunos comandos son: get-help,get-alias,get-help-dir,ls y dir (para ver una lista de directorios/archivos), clear, date,exit, entre muchos más.

Ejemplos.

1. Usar el comando cd para colocarnos en un directorio (Documents)

PS C:\>cd ./Documents

2. Obtener servicios
PS C:\>get-service

Puedes usar los comandos MS-DOS y combinarlos con los de PS. Los archivos PS se guardan con la extensión *.ps1 



PowerShell  para novatos

0- Comentarios
<#
puedes usar
comentarios multilínea
para tus programas
#>

#comentario simple

1. Hola mundo.

1.1 Usando comillas:
"Hola mundo desde PowerShell"

1.2 Usando echo:
echo "Hola mundo desde PowerShell"

1.3 Usando Write-Host:
Write-Host "Hola mundo desde PowerShell"

2. Definir una variable y mostrarla.
$miVariable="soy una cadena"

2.1 Con write-host:
write-host $mivariable

2.2 Con echo:
echo $miVariable

2.3 Directamente
$miVariable

3. Introducir datos.
$nombre = Read-Host "Tu nombre es: "
$edad= Read-Host "¿Cuántos años tienes?"
write-host "Te llamas $nombre y tienes $edad años"

4. Operaciones básica: suma, resta , producto y división
$a=34
$b=25
$suma= $a+$b
$resta= $a-$b
$producto= $a*$b
$division= $a/$b
write "$a + $b = $suma"
write "$a - $b = $resta"
write "$a * $b = $producto"
write "$a / $b = $division"


5. Operadores aritméticos y booleanos.
-eq (==)
-ne (!=)
-gt (>)
-ge (>=)
-lt (<)
-le (<=)

-and
-or
-not


$a=99
$b=2
Write-Host "a= $a  y b= $b"
$result=($a -lt $b)
write-host "($a -lt $b): $result"
$result=($a -gt $b) -or ($b -lt $a)
write-host "($a -gt $b) -or ($b -lt $a): $result"
$result=($a -eq $a) -and ($b -lt $a)
write-host "($a -eq $b) -and ($b -lt $a): $result"

6. Crear una función.

function mensaje{
 "hola desde una función"
}

#invocar
mensaje

7. Uso de for y foreach.
$lista={3,4,4,5,6}
$plazo=9
for($i=0;$i -lt 5;$i++){
   write-host "$i"
}
write-host ""

foreach ($l in 0..$plazo){
  write-host "$l"
}



















Enlaces de interés:
http://elpaladintecnologico.blogspot.mx/2009/02/que-es-powershell-ejemplos-basicos-para.html
http://www.aprendeinformaticaconmigo.com/powershell

jueves, 13 de septiembre de 2012

Bienvenido al mundo Pascal

Primer programa en Pascal Lazarus

Instalación ...












Instalación terminada


Mostrar el contenido de una caja de texto desde una ventanita.
Controles a usar:
Una caja de texto (TEdit)
Una etiqueta (TLabel)
Un botón (TButton)

Código del botón:
procedure TForm1.Button1Click(Sender: TObject);
var nombre:String;
begin
{Este es un comentario}
   nombre:=Edit1.Text;
   ShowMessage('Hola  '+nombre+'  bienvenido al mundo Pascal');
   Edit1.Clear;
end;