Categorías
hoy aprendí ...

… a sincronizar datos entre GNUCash version android y desktop (linux y windows)

Llevando la contabilidad hogareña por años con excel, luego de decidirme a dar un paso más allá llegué en algún momento a GNU Cash

Probá la versión de escritorio en linux y luego de leer algunos tutoriales (tengo que buscas los links) empezé a llevar el registro en la computadora de escritorio.

Pero el registro del día a día lo anotaba en el celu en notas sueltas, hasta que encontré la versión móvil para android, y la verdad es que para las entradas (o transacciones) sencillos resulta fácil.

La clave está en usar archivos QIF. Y el flujo debe ser del móvil al escritorio. Luego vaciar el móvil.

Una funcionalidad interesante desde el escritorio al momento de importar es que si por alguna razón creo cuentas nuevas en el móvil o duplico una transacción hay posibilidad de revisar los cotejos y decidir si emparejar o crear nuevas cuentas.

El importador de QIF de la versión 3.5 de MS Windows tiene varios pasos muy bien explicados.

Un detalle importante es que los archivos QIF no son multimonedas, así que hay que estar atentos a la moneda utilizada. Todavía no tuve la oportunidad de probar esto último.

Categorías
hoy aprendí ...

…a «mejorar» una imagen sin photoshop

Necesito ampliar una imagen sin que se degrade tanto.

Había usado hace un tiempo el servicio de Let’s Enhance, pero sólo deja 5 pruebas gratis, luego hay que pagar.

Buscando algo alternativo caigo en esta entrada de Shivani Srivastava con varias opciones.

Necesitaba que fuera un servicio en línea para no tener que instalar ningún software, me quedé con este que tiene además tiene repo en GitHub

waifu2x.udp.jp

Gracias.

Categorías
hoy aprendí ...

… a preparar un WordPress para editar contenidos en HTML simplón ¡chau Dreamweaver!

La idea es tener un editor para formatear textos en HTML desde un editor visual, que los editores se puedan ingresar con clave y trabajar con una herramienta conocida, que se conserve el formato HTML, además que haga coloreado (highlight) de la sintaxis por si hay que tocar el código, y que puedan aplicar estilos CSS a los elementos desde un menú visual.

No interesa (por ahora) la opción de bloques que propone el Editor Gutenberg, pero no desecharlo, por lo que la instalación se hizo con WP 5.0.

Los plugins específicamente instalados:

Además están: WP Cerber Security de Gregory, el Resctric User Access de Joachim Jensen , Members de Justin Tadlock, WP2Static de Leon Stafford.

En el TinyMCE Advanced hay que habilitar en Configuración Avanzada la opción que mantenga los párrafos y saltos de línea, es decir, desactivar el autoformato que hace WordPress, y por otro lado, para agregar las class personalizadas como estilos de formatos hay que agregar en el archivo functions.php del theme activo el archivo editor-style.css que se debe crear a mano en el directorio, y luego tildar la opción en la configuración avanzada (mejorar esta explicación con un paso a paso)

Ideas a futuro:

Como el asunto es utilizar esta sola instalación para editar contenidos de muchos sitios una forma de separar es editar entradas y que cada sitio sea una categoría.

También se podría utilizar algún tipo de plugin que permita definir diferentes cabeceras y pie, o layout para las diferentes categorías y hojas de estilo personalizadas, ya que de esta manera se podría previsualizar «casi» cómo quedaría el contenido con el aspecto del sitio al que pertence.

Categorías
hoy aprendí ...

… a intercalar páginas desde dos archivos PDFs

El tema surgió hace un par de semana, cuando tenía un PDF de un libro exportado en páginas dobles, es decir, cada página era un pliego con 2 páginas (par e impar). Tocaba producir un PDF de página simple.

Opción 1: recurrir al archivo de origen y exportar de esa manera.

Opción 2: usando el PDF de página dobles generar por un lado las páginas izquierdas, luego las derechas y al final intercalar.

La opción 2 se realizó recortando de las páginas la mitad que no correspondía para cada mometo, es decir, recortar la mitad derecha para exportar las página pares. Desde el Acrobat se puede muy sencillo, luego guardar como libro_paginas_pares.pdf. Lo mismo pero inverso para las otras.

La cuestión era hacer el intercalado. En un documento corto se puede hacer a mano, pero con 200 páginas mejor algo automático.

Búsqueda rápida: https://duckduckgo.com/?q=intercalando+p%C3%A1ginas+de+2+archivos+PDF&t=ffsb&ia=web

Y gracias a que todos tenemos los mismos problemas en algún momento, alguien ya tenía la solución. Pero lo importantes es que la compartió.

https://desfaziendoentuertos.prepress.es/mezclar-e-intercalar-paginas-pares-e-impares-de-dos-pdf-en-un-unico-documento-script-gratuito-para-acrobat-9-y-x/

Lleva a un foro de Adobe donde también se compartió la solución.

https://forums.adobe.com/message/3945387

Un script en javascript que se «instala» en el Acrobat Profesional (yo estaba usando la versión X) y agrega un item al menú. Muy fácil de usar.

// Complements: Planet PDF (http://www.planetpdf.com/)

// Modified by Jeff Baitis for Acrobat 9 and Acrobat X compatibility

// Improved Collate function with status bar.

 

// Add a menu item to reverse all pages in the active document

app.addMenuItem({  cName: «Reverse», cParent: «Edit», cExec: «trustedReversePages();»,  cEnable: «event.rc = (event.target != null);», nPos: 0 });

// Add a menu item to collate with another document on the filesystem

app.addMenuItem({  cName: «Collate», cParent: «Edit», cExec: «trustedCollatePages();»,  cEnable: «event.rc = (event.target != null);», nPos: 0 });

 

trustedReversePages = app.trustedFunction(function()

{

app.beginPriv(); // Explicitly raise privileges

var t = app.thermometer;

t.duration = this.numPages;

t.begin();

for (i = this.numPages – 1; i >= 0; i–)

{

t.value = (i-this.numPages)*-1;

this.movePage(i);

t.text = ‘Moving page ‘ + (i + 1);

}

t.end();

app.endPriv();

})

 

// Collating pages

/*

Title: Collate Document

Purpose: User is prompted to select document to insert/collate.

Author: Sean Stewart, ARTS PDF, www.artspdf.com

*/

 

trustedCollatePages = app.trustedFunction(function()

{

app.beginPriv(); // Explicitly raise privileges

// create an array to use as the rect parameter in the browse for field

 

var arRect = new Array();

arRect[0] = 0;

arRect[1] = 0;

arRect[2] = 0;

arRect[3] = 0;

 

// create a non-visible form field to use as a browse for field

 

var f = this.addField(«txtFilename», «text», this.numPages – 1, arRect);

 

f.delay = true;

f.fileSelect = true;

f.delay = false;

 

// user prompted to select file to collate the open document with

 

app.alert(«Select the PDF file to merge with»)

 

// open the browse for dialog

 

f.browseForFileToSubmit();

var evenDocPath = f.value;

 

var q = this.numPages;

 

var t = app.thermometer;

t.duration = q;

t.begin();

 

// insert pages from selected document into open document

 

for (var i = 0; i < q; i++) {

var j = i*2;

this.insertPages(j, evenDocPath, i);

t.value = i;

t.text = ‘Inserting page ‘ + (i+1);

}

t.end();

 

// remove unused field

 

this.removeField(«txtFilename»);

app.endPriv();

})

Y chau.