PDFs need to be generated on the client, not on the server.
The only time you can get away with generating PDFs on the server is when you can control what is being generated. For example, you are airline website generating PDF tickets. You know the only PDFs you need to generate are of certain size, certain font, certain language.
But with general purpose accounting system, PDF documents can be of any size, any font, any language… it can be anything.
And none of the cloud accounting systems can handle this. For example, I just pasted Chinese lorem ipsum into Xero invoice and generated PDF using their PDF button. Here is my PDF:
If the argument is who cares about Chinese, Korean, Arabic, Hindi, Japanese and all other non-English character sets… well I do care about it and I want feature parity across all languages even if it means one feature will have to be taken away because it only works realiably for English users only.
You are right. There is. The best one which is open-source is Chromium. But Chromium is 200 MB and then you need all the fonts. Another 200 MB easily. Now Manager download is not 100 MB, it’s 500 MB.
Just so PDF
button can be retained. Is it really worth it?
But even if I’d go this direction, there is still issue with generating very large PDF documents (e.g. General Ledger Transactions
report). Servers will be always more constrained in resources than client computers.
You might have Manager Server running on simple VPS with 2 GB of RAM while even your mobile phone has 4 GB of RAM or more. Clients will have always more resources than servers. So PDF
button would run out of server resources and simply crash much sooner than Print
button and saving to PDF using your web-browser.
So these are two big reasons why PDFs should be generated on the client:
- It works 100% for everyone.
- It makes Manager Server extremely lightweight so it’s just 50 MB program which can run on anything.
What do we lose?
We lose ability to email documents as PDF. Manager can still email link to hosted document. If you want to email PDF, then you can always use Print
button, save to PDF and send that outside of Manager.