Posts

ABN Amro bank statement export to .OFX

I recently started to use YNAB 4 (You Need A Budget) software to manage/monitor my spendings. You can find it here  (referral + $6 discount alert). Great and easy to use software to budget your expenses. But for Dutch users I found a big disadvantage: you cannot import files from ABN Amro. YNAB only imports .OFX (Money) or .QFX (Quicken) and to some extend (they say they do not prefer it) .QIV or .CSV files. On the other end, ABN Amro only exports PDF, Excel (.xls), MT904 (.STA), TXT (.TAB, tab delimited) and CAMT. 053 formats. To get your transactions into YNAB, you need to download a MT904 converter. You can find it here:  http://sourceforge.net/projects/mtconverter/  You need to have Java installed for it to work ( www.java.com ). To use the converter, I created a batch file with the following lines: for /r %%i in (in\*.sta) do ( echo %%~ni java -jar mtconverter-0.01.jar "%%i" out\%%~ni.ofx del %%i ) Save it as convert.bat in the same directory...

Using Flying Saucer and iText in Java to convert XHTML to PDF

The situation Where I work, we were generating reports in XHTML, for printing. The styling should be easily configurable. The problem with this approach is the cross-browser look of your report. IE and Chrome print two completely different reports, so to speak. To prevent the difference between browsers, and to re-use the existing report generation, I decided I needed to render the print at the serverside. So I had html, and I wanted it to look the same on every computer. Pdf is a good medium for this purpose, so I needed a html to pdf library, for our Java system. I first tried iText by itself, but this did not apply the css. Browsing the web a bit further I found the combo Flying Saucer and iText , and this was a winning combination for us. Flying Saucer is a Java library that renders XHTML/XML + CSS to screen/image/PDF. For PDF there is a dependency on iText, a library to create pdf files. The code In this blogpost I provide some codesnippets, not a full working example....