domingo, 11 de marzo de 2018

unoconv ejecutarlo desde PHP / apache y no morir en el intento

Configurar apache para ejecutar unoconv

Fichero script: libreofficeconverter.sh

#!/bin/bash

if [ -z "$1" ]; then
    echo "Must pass source file to convert to pdf";
    exit 10;
fi

# This assumes your unoconv executable is located at /usr/bin/unoconv
# If that's not true try a `which unoconv` to get the path and update
# the path below to your path

/usr/bin/unoconv -f pdf --output $1 $2
chown www-data $1
chgrp www-data $1
 
Como root ejecutaremos el comanbdo

visudo
 
Al final del archivo añadimos nuestro script para que apache pueda ejecutarlo


# Script que queremos ejecutar desde apache
www-data ALL=NOPASSWD: /ruta/al/script/libreofficeconverter.sh
 
 Guardamos los cambios

y el script en php:

$fichero_origen = "/ruita/del/archivo/a/convertir/fichero.odt";
$fichero_salida = "/ruta/destino/donde/queremos/generar/el/archivo/resultado.pdf";

    shell_exec('sudo /ruta/al/script/libreofficeconverter.sh ' . $fichero_salida .' '.$fichero_origen);
 
Ten en cuenta que le pasamos dos variables al script $1 y S2 que son el origen y el destino

 y con esto ya tenemos el problema solucionado

jueves, 28 de diciembre de 2017

Imprimir sin abrir desde vb.net

Imprimir un documento sin abrirlo desde vb.net

La idea es poder abrir un documento en PDF y enviarlo a la impresora que nosotros le indiquemos

en la linea p.StartInfo.Arguments hemos puesto como impresora la XPS de microsoft, pero podemos poner la nuestra "HP Deskjet" o cualquier otra. Esto permite abrir el documento y enviarlo a imprimir por la impresora especifica

En la linea p.WaitForExit(5000) espera 5 segundos (5000 milisegundos) para procesar, realmente no es necesario pero lo he utilizado para envie correctamente el archivo a la cola de impresión, solo me he encontrado alguna vez que si el archivo es muy grande, no envia el doumento correctamente a imprimir (faltan hojas)

Closemainwindow será el proceso que cierre la ventana principal, yo lo he sustituido por kill, porque se quedaba la aplicación del adobe reader abierta.


Using p As New Process

p.StartInfo.FileName = "C:\ruta\del\documento.pdf"
p.StartInfo.Verb = "PrintTo"
p.StartInfo.Arguments = Chr(34) & "Microsoft XPS Document Writer" & Chr(34)
p.StartInfo.CreateNoWindow = True
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
p.Start()
p.WaitForExit(5000)
'p.CloseMainWindow()
p.Kill()
p.Close()

End Using


Espero que os sirva

domingo, 14 de diciembre de 2014

Vaciar la caché de los contactos de Outlook


Outlook à Archivo à opciones à Correo à Dentro del apartado "Enviar mensajes" à pulsar el botón "Vaciar lista de autocompletar" (tal y como indico en la captura: )

viernes, 26 de septiembre de 2014

VB2010.NET Recorrer un DataGridView

 Esto es una forma facil de recurrer un DataGridView en Visual Basic .NET 2010

Para la primera columna :
row.Cells(0).Value

Para otras columnas reemplazaremos X por un número:
row.Cells(X).Value

For Each row As DataGridViewRow In DataGridView1.Rows
            MsgBox(row.Cells(0).Value)

Next


Con MsgBox hacemos que nos muestre un mensaje con el valor

jueves, 4 de septiembre de 2014

php generar cadena caracteres aleatorios

función php para generar una cadena de caracteres aleatorios


function generarCodigo($longitud) {
  $key = '';
  $pattern = '1234567890abcdefghijklmnopqrstuvwxyz';
  $max = strlen($pattern)-1;
  for($i=0;$i < $longitud;$i++) $key .= $pattern{mt_rand(0,$max)};
  return $key;
 }

 
Para llamar a la función algo tan sencillo como esto, donde le indicamos la longitud mediante un numerito:
 
 $CadenaAleatoria = generarCodigo(15);


$cadenaAleatoria  genera un código de 15 caracteres de longitud.

jueves, 28 de agosto de 2014

Evitar que se muestren los errores en php

Para evitar que se muestren los errores con php, tan solo hemos de añadir al principio del documento php la siguiente secuencia: "ini_set('display_errors','off');"

Véase un ejemplo:



ini_set('display_errors','off');



Esto es util si vamos a desarrollar una aplicación web bajo AndroPHP, de esta forma no hay que ser root para poder cambiar las propiedades del php.ini

viernes, 25 de julio de 2014

Bloquear equipo XP desde linea comandos

Para bloquear un equipo con Windows XP desde la línea de comandos:


rundll32.exe user32.dll, LockWorkStation

lunes, 21 de julio de 2014

Exchange 2010 - Listar tamaño buzones

Para mostrar el tamaño de los buzones en Exchange 2010, tenemos que ejecutar el siguiente comando en Power Shell de la consola de Exchange:


Get-MailboxDatabase | Get-MailboxStatistics | Sort totalitemsize -desc | ft displayname, totalitemsize, itemcount



martes, 27 de mayo de 2014

Migramos a MySQLi

Creación de archivo de conexion a base de datos:

$mysqli = new mysqli("SERVER_MYSQL", "USUARIO", "PASSWORD", "BASEDATOS");

Bucle para un listado con select:

$ConsultaMySql= $mysqli->query("SELECT * from lnx_menus");

while($columna = mysqli_fetch_array($
ConsultaMySql))
{
    echo 'xxx'.$columna["display"].'
';
}


Obtener el valor de una celda:

$row = mysqli_fetch_assoc($ConsultaMySql);
$celda = $row['display'];


Con $celda obetenermos el valor del campo celda

Cierre conexión BBDD

mysqli_close ($mysqlli );

sábado, 25 de enero de 2014

Cómo iniciar el recovery de los portátiles de marca

Cómo iniciar el recovery de las computadoras/portátiles de marca

Listado de como iniciar el recovery, o utilidad de recuperación de sistema, de todas las marcas que venden en España sus equipos, tanto portátiles, netbooks y sobremesas.
Alt+F10
Se intentara actualizar con toda la información oficial y con la colaboración de los usuarios hasta poder cubrir el 100% de marcas y métodos.
Acer ->
  • En cualquier caso las teclas a pulsar deben ser a la vez Alt+F10.
  • Si accedemos desde el sistema puede variar, pero normalmente será en una carpeta llamada Acer sólo y habrá que buscar el programa Acer eRecovery Management.
HP/Compaq ->
  • Si el ordenador tiene más de 3 años la tecla será F10.
  • Si el ordenador tiene menos de 3 años la tecla será F11.
  • Si accedemos desde el sistema, en ambos casos, la utilidad se llamara Recovery Management y se accederá desde Inicio-> Todos los Programas -> HP -> Recovery Management.
Asus ->
Incluye un DVD de recuperación del sistema, que podemos introducirlo en la unidad y pulsar ESC para que aparezca la opción de Boot Menu y arrancar desde la unidad óptica. Esta opción es muy útil si hemos eliminado esta partición oculta de la que hablo.
En caso de no tener el DVD de recuperación a mano y necesitamos volver a la configuración inicial del portátil, cuando encendemos el portátil y aparece el logotipo ASUS, tan sólo tenemos que pulsar F9, y con ello se inicia desde la partición oculta para recargar la imagen guardada.
Packard Bell ->
  • Si el ordenador tiene más de 4 años: Tecla F9.
  • Si el ordenador tiene menos de 4 pero más de 2: Tecla F11.
  • Si el ordenador tiene menos de 2, seguramente será un Packard Bell ya comprada la marca por Acer, así que como ellos, habrá que pulsar las teclas Alt+F10.
  • En el sistema, hasta antes que Acer comprara Packard Bell estaba en una carpeta en el menú inicio llamada Soporte de Packard Bell, con el programa SmartRestore. Después pasó a llamarse como el de Acer, pero haciendo referencia a Packard Bell, algo así como Packard Bell eRecovery Management.
Lenovo ->
Dependiendo del equipo (antiguos IBM), se accede al sistema de recuperación con la tecla Access Thinkpad o Access IBM, también con la tecla F11.
Leer las notas oficiales de Lenovo para conocer como acceder y operar con el programa de recuperación.
Rescue and Recovery® 4.50 by Lenovo.
Samsung ->
Para lanzar el Samsung Recovery Solution pulsar F4 nada mas arrancar el equipo.
Documentacion oficial de Samsung sobre el acceso y uso de Samsung Recovery Solution.
Toshiba ->
Mantenga pulsada la tecla 0 (cero) del teclado y  pulse el interruptor de encendido del ordenador.
Recomiendo leer este articulo oficial de Toshiba sobre el Toshiba HDD Recovery Utility.
Sony ->
Pulsamos F10 nada mas iniciar el equipo para entrar en modo de recuperación.
Documentacion oficial de Sony sobre VAIO Recovery Center, en español.
MSI / Medion->
Pulsar F3 nada mas encender el equipo para acceder al sistema de recuperación.
También, en algunos modelos mas antiguos, la tecla F11.
DELL ->
Dispone de los métodos siguientes para restaurar el sistema operativo:
  • La función Restaurar sistema, que devuelve el ordenador a un estado operativo anterior sin que se vean afectados los archivos de datos. Utilice esta función como primera opción para restaurar el sistema operativo y conservar los archivos de datos.
  • Dell PC Restore de Symantec (disponible para Windows XP) y Dell Factory Image Restore (disponible para Windows Vista) devuelven el disco duro al estado operativo en el que se encontraba cuando adquirió el ordenador. En ambos casos, se eliminan de forma permanente todos los datos de la unidad de disco duro, así como todos los programas instalados después de recibir el ordenador. Utilice Dell PC Restore o Dell Factory Image Restore solamente si la función Restaurar sistema no ha resuelto el problema de su sistema operativo.
  • Si con el ordenador se le ha entregado el disco Operating System (Sistema operativo), puede utilizarlo para restaurar el sistema operativo. Sin embargo, tenga en cuenta que el disco Operating System elimina también todos los datos de la unidad de disco duro. Sólo debe utilizar este disco si no ha podido solucionar el problema del sistema operativo con la función System Restore (Restaurar sistema).
Leer la documentación oficial de DELL para ver los métodos a usar y como iniciarlos según el sistema operativo a recuperar.
Fujitsu-Siemens ->
Normalmente estos equipos van a la antigua usanza y proveen CDs para hacer la recuperación de sistema (así como Medion, But, Philips o Toshiba), hubo una serie que si tuvo recovery. Si tenéis uno de esos equipos:
  • No se accede desde el principio del ordenador, ni tiene una utilidad en el sistema. El sistema que llevaban de serie era Windows Vista y había que ir a las opciones de arranque de Windows. Para ello, antes de que empezara a cargar el sistema, hay que pulsar repetidamente la tecla F8 hasta que te aparezcan en pantalla las distintas opciones de arranque. Elegiremos “Reparar equipo” y entre las opciones que nos aparecerán más tarde, cuando se cargue la utilidad de reparar sistema, ahí tendremos el Recovery Management de Fujitsu-Siemens.

NOTA: Si probando los métodos antes descritos no os entra en modo recovery o no os funciona como debería, siempre recomiendo leer la documentación oficial, tanto la adjunta con el equipo como en la web oficial del fabricante, pues con el paso del tiempo, los métodos de recuperación, el software usado y el uso de las teclas puede variar, como en el caso de HP/Compaq.

miércoles, 13 de noviembre de 2013

Como mostrar y vaciar la cola de postfix

Tip rapidísimo de postfix.
Para mostrar que emails están en cola, osea, aun no se han enviado:
mailq
Para borrar un email de la cola:
postsuper -d queue_id
Para borrar todos esos emails de la cola:
postsuper -d ALL

martes, 5 de noviembre de 2013

Contar numero de registros de una tabla mysql

Para conocer el numero de registros de una tabla mysql en php utilizamos principalmente la funcion mysql_num_rows que devuelve el número de filas de un resultado.
Veamos un ejemplo:.

// sentencia sql
$sql = "SELECT * FROM mitabla"; 
$result = mysql_query($sql); 

// obtenemos el número de filas 
$numero = mysql_num_rows($result)
// imprimos en pantalla el número generado
echo 'El número de registros de la tabla es: '.$numero.''; 

domingo, 3 de noviembre de 2013

PHP - Mysql bases datos (ejemplos base) R

Si recordamos esta entrada: PHP - Mysql bases datos (ejemplos base)
 Hay un pequeño detalle.

Para mostrar los resultados:
while ($columna = mysql_fetch_row($rs))
{
$columna[0] ---> Muestra el contenido de la columna 0
$columna[1] ---> Muestra el contenido de la columna 1 (y asi sucesivamente)
}


De esta forma selecionamos la columna, pero... ¿y si un dia cambiamos la estructura de la tabla o simplemente saber que campos estamos escogiendo?

La solución:

while($columna = mysql_fetch_array($rs))
{
$columna["id"] ---> Muestra el contenido del campo "id"

$columna["campo"] --> Muestra el contenido del campo "campo"
}

viernes, 16 de agosto de 2013

Formateador unidades FAT32 para windows

FAT32 Format. Esta aplicación es portable por lo que no necesitaremos instalación.

En la captura de abajo vemos la interfaz de FAT32 Format. Es bastante simple

  1. Selecciona el disco duro a formatear
  2. El “Allocation unit size” déjalo en su valor por defecto a menos que sepas que necesitas otro valor.
  3. “Volume Label” Aquí escribes el nombre que le quieres dar al disco.
  4. Elige “Quick Format” para ahorrar tiempo.
  5. Finalmente presiona “Start”


Enlace:
http://www.ridgecrop.demon.co.uk/index.htm?guiformat.htm

martes, 23 de julio de 2013

Temas originales Windows XP

Temas originales Windows XP

Por si te has instalado una version desatendida y el formato no es el mismo.


sábado, 22 de junio de 2013

Grabar el audio del PC

Solución para grabar la música que sale por los altavoces (Ejemplo estas escuchando la radio por internet de tu radio favorita y tachan suena esa musiquilla que estas buscando por todos los lados y no la encuentras).Pues nada aquí te traigo la solución probado por mi con Windows 7.

Le damos click al lado derecho del icono del altavoz al lado del reloj de Windows

Le damos click a dispositivos de reproducción
 Le damos click a grabar
 Le damos click a la ventana mostrara dispositivos desahabilitados le damos clik

La damos click activar, click aceptar
Y con esto ya podemos usar Audacity para grabar el audio desde el PC



jueves, 13 de junio de 2013

ISPConfig y postfix, enviar adjuntos con mayor tamaño

Esto me ha funcionado en ISPConfig 3 y postfix.

Resulta que por defecto, solo permite enviar adjuntos de hasta 5 mb, pues bien, buscando y buscando por la web no habia encontrado nada, hasta que encontré algo en foro de habal inglesa:

http://www.howtoforge.com/forums/showthread.php?t=1325

Aqui me han dado la solución y lo expongo a continuación:

Nos conectaremos al servidor por SSH (como root) y escribimos el siguiente comando: 

 postconf -e 'message_size_limit = 104857600'

Pulsamos intro y reiniciamos el servicio de postfix:


/etc/init.d/postfix reload



y si ahora probamos de enviar un mail, ya lo podemos enviar con un tamaño de 10 Mb



domingo, 23 de diciembre de 2012

Reflexión

Llevo viendo desde hace tiempo un egocentrismo en cuanto a nuestra sociedad actual y más por el tema de la crisis, pero lo que quiero hablaros es sobre el tema de informatica en la actualidad:

Existen muchas empresas de informaticas, las tipicas tiendas de cara al publico donde suelen tener material en stock para que la gente de la calle pregunte por algo, se informen y luego lo vayan a comprar a cualquier tienda NO especializada, es decir, grandes almacenes tipo Carrefour, Media Markt etc... Tambien es cierto que existen muchas empresas de informatica que sigo sin entender como tienen los santos cojones de llamarse tiendas de informatica cuando realmente solo saben formatear e instalar o como yo me he llegado a encontrar el caso de que instalaban servidores Windows 2000 / 2003 Server sin sin controladores de dominio, simplemente porque decian "es que no sabemos como funciona". Basta ya de empresas sacacuartos y sin experiencia.

Con todo el tema este de la crisis hay muchisimas empresas (por no decir casi todas) que se creen que la infomatica es "gratis". Pues no, ni el servicio tecnico, ni las licencias de software son gratuitas. Seré defensor del software libre (que no quiere decir gratis) pero tambien se donde hay un software que se adapte mejor a las necesidades del cliente y que merezca la pena pagar por dicha licencia.

Problema numero uno: las copias de seguridad. Las empresas (pymes) se piensan que los componentes de ordenador duran de por vida, y es más bien todo lo contrario, son una bomba de relojeria. Nadie sabe el valor de la perdida de informacion hasta que no lo sufre. Un caso veridico es el siguiente: - ¿Hacen copias de seguridad? -Si -¿Donde? -En la otra particion del disco duro

Error. ¿Te piensas que ese disco duro va a durar eternamente? ¿crees que el disco duro no puede recibir una sobrecarga de tension y decirle adios a toda la información?

Respuesta: "Pues cuando se rompa, ya llamare al informatico de turno para que lo arregle", esa es la triste mentalidad de la gente. Y en el mejor de los casos les preguntas que si cuando programan las copias, comprueban que estas se puedan restaurar en caso de desastre, la gran mayoria dicen: "si se ha hecho la copia, ¿porque tengo que comprobarla a restaurarla? vaya perdida de tiempo" Señores, sera una perdida pero se habra asegurado que el dispositivo donde guarda la informacion se puede restaurar sin necesidad de tener que llamar al informatico y esperar un milagro, mas vale detectar la averia antes que cuando ya no hay solucion. También me encuentro con gente que me pide de que le arregle el ordenador, pero en cuanto saben que les va a costar algo mayor de 0 euros se hechan las manos a la cabeza y te dicen de todo. A mi que me perdonen, pero.. Primero: Mi tiempo tiene un precio. Segundo: Vivo de ello; Terecero: porque sepas usar el bloc de notas no significas que sepas informática. De esto último hay un mal conecpto: Ofimatica: saber utilizar las herramientas diarias que se pueden usar en cualquier oficina. Englobemos esto como usar el Word, Excel, Outlook y si me apurais, navegar por internet. Pero en ningún momento es saber de informática, esto último requiere conocimientos mínimos de redes (TCP/IP, Hardware, Sistemas operativos (esto habria que debatirlo un poco), etc)

La informática es muy complicada, no es sencilla, por muchos que se empeñen en que instalar windows es siguiente, siguiente y finalizar. Falta instalar drivers (controladores) Actualización de parches de seguridad etc.

Por ejemplo un programador no lo metas en montaje de equipos de hardware. Puesto que aún siendo informática el programador está especializado en programar, sabe usar un lenguaje de programación. Lo mismo lo podemos aplicar a un tecnico de campo ( o de hardware) No lo pongas a programar en Visual Basic, C++, php o cualquier otro lenguaje. Por eso digo, la informática no es ni facil, ni es gratuita y quien no lo quiera ver asi que se joda, no hay más.

Otro punto a destacar en las empresas es como despiden a la gente (otro punto interesante a tratar) pero que solamente veo que despiden gente porque los empresarios tienen su flamante yate y claro, han de pagar el parking del amarre y como no pueden, pues hecha a empleados. Si por un lado despiden y se tienen que repartir el trabajo, cojones, augmentar el sueldo a los que quedan. Almenos no estarán agobiados y verán su esfuerzo compensado de alguna forma.

Por favor, no sean abstemios de consumir, pero tampoco derrochen. Un termino intermedio será lo ideal para salir de esta asquerosa crisis generada por el egocentrismo de algunos.

Solo quiero dar un pequeño apunte: La informática lo mueve todo, si falla algo, estamos realmente desesperados, no espero a último momento para solventar las cosas y hagámoslo con cabeza. Un mantenimiento preventivo quitará muchos dolores de cabeza.Y porfavor, no llamen al infomático de turno o al hijo del frutero para que les arregle el ordenador, llevenlo a una tienda de informática.

Como diria un amigo del gremio: "Si te sientes ofendido o identificado en el texto: Te jodes"