Las horas de trabajo detrás de una función simple

Desde que inicié este sitio web en abril de 2021, sabía que los usuarios cargarían archivos PDF protegidos con contraseña. Pensé que sería demasiado molesto hacer el trabajo para admitir estos archivos PDF, así que lo pospuse. Recientemente, un usuario me pidió que admitiera archivos PDF protegidos con contraseña, así que lo hice. Es una función simple, y funciona bastante bien. Pasé todo el día de ayer trabajando en ella y lo puse en producción a las 2:32 a.

Read more →

Extracto bancario en PDF JSON API

1. Obtenga el token de autorización Vaya a https://bankstatementconverter.com/ en Google Chrome Iniciar sesión Presione F12 para abrir las herramientas de desarrollo Haga clic en la pestaña “Application” En el panel izquierdo, haga clic en “Storage” -> “Local Storage” -> “https://bankstatementconverter.com/" Debería ver una clave llamada “bsc-authToken” y un valor correspondiente. El valor es el token de autorización. Copie el valor. 2. Subir PDF API Método: POST URL: https://api2.

Read more →

Desarrollo de HSBC Mole Whacking

La semana pasada, un cliente me pidió que lo ayudara a procesar algunos cientos de sus documentos. Tenía archivos PDF de varias cuentas bancarias desde 2018. Eché un vistazo a los documentos, negocié un precio y luego me puse a trabajar procesando sus documentos. Mi idea era ejecutarlo a través del procesador de PDF a CSV de Bank Statement Converter (BSC). Sin embargo, se produjeron algunos errores. BSC tiene un algoritmo genérico para detectar registros de transacciones en un archivo PDF.

Read more →

¿Que año es?

Últimamente he recibido muchas quejas de que el año está mal en el archivo CSV resultante de Bank Statement Converter. Al principio, cuando recibí estas quejas, pensé: “¿De qué diablos estás hablando? Todo lo que hacemos es buscar los datos de la transacción y luego escribirlos en un archivo CSV. ¿Cómo puede estar mal el año?”. Veamos qué está pasando con uno de mis extractos bancarios de HSBC. Cuando se convierte se ve así

Read more →

Obtenga sus transacciones bancarias automáticamente

El otro día tuve una pequeña revelación sobre qué problema resuelve el convertidor de extracto bancario. La respuesta obvia parece ser “resuelve el problema de extraer datos de transacciones de extractos bancarios en PDF”. Eso es cierto, pero también se podría decir que resuelve un problema más general. “Le da acceso al usuario a sus datos de transacciones bancarias”. Sin embargo, es un poco molesto de usar. Para obtener los datos de sus transacciones de 2021, se debe:

Read more →

Llegando a $1000 MRR en diez meses

Hace unas semanas, BankStatementConverter (BSC) superó los $ 1000 en ingresos recurrentes mensuales (MRR por sus siglas en inglés). Supuse que a muchos les interesaría escuchar la historia. $0 MRR, Marzo a Julio 2021 Tuve la idea de construir BSC para ayudar a los usuarios a procesar archivos PDF. Pasé una semana jugando en Kotlin para ver si mi idea era factible, y lo era. Poco después me reúno con un amigo para tomar unas cervezas y le cuento mi idea.

Read more →

Detección de encabezados en la tabla de transacciones

Esta es la segunda parte de una serie de publicaciones en el blog donde explico cómo funciona el convertidor de extractos bancarios. En el artículo anterior hablé sobre cómo extraigo cada carácter y su cuadro delimitador de un PDF. En este artículo, hablaré sobre cómo uso los caracteres y los cuadros delimitadores para detectar los encabezados de la tabla de transacciones. val pageRegion = Rectangle(0f, 0f, page.cropBox.width, page.cropBox.height) val lines = LineExtractor(page).

Read more →

Extracción de texto y cuadros delimitadores de un PDF

Esta es la primera parte de una serie de publicaciones en el blog donde explico cómo funciona BankStatementConverter. En esta publicación, explicaré el código que determina los cuadros delimitadores y otros atributos de los caracteres en una página. Gran parte de este código se extrajo de DrawPrintTextLocations y [PDFTextStripper](https: //pdfbox.apache.org/docs/2.0.7/javadocs/org/apache/pdfbox/text/PDFTextStripper.html). Lo primero que hacemos es cargar el archivo PDF usando PDFBox y luego procesamos el documento página por página. Los archivos PDF se procesan página por página porque si no nos quedamos sin memoria, la mayoría de los documentos tienen menos de diez páginas, pero hay documentos que tienen más de 10,000 páginas, si intentáramos cargar todos los datos de una gran documento en la memoria, rápidamente se nos llenaría y bloquearíamos nuestra aplicación.

Read more →

Análisis de mis extractos bancarios de HSBC

Originalmente, quería analizar mis extractos bancarios de HSBC de 2014. 2014 fue un gran año para mí, comencé el año lanzando una nueva aplicación, me uní a una empresa de desarrollo de juegos y alquilé un apartamento con un amigo. Desafortunadamente, mis extractos bancarios de 2014 de la banca por Internet de HSBC ya no están disponibles, parece que solo se remontan a unos pocos años. Así que revisemos mis extractos bancarios de 2015.

Read more →

Cinco formas en que manejé mis OutOfMemoryErrors

Utilizo Grafana para crear gráficos que me muestran varias métricas comerciales y de rendimiento para Bank Statement Converter. Uno de los gráficos que creé rastrea la cantidad de errores Internal Server Errors que el servidor devuelve a los clientes. Hago esto escribiendo un registro en la base de datos cada vez que se envía un 500 al cliente. Este gráfico ha sido realmente útil para solucionar errores que no anticipé. El jueves pasado a las 12:55 AM HKT, mis servidores comenzaron a generar los infames errores OutOfMemoryErrors de Java.

Read more →

Join The Mailing List