The title needs a bit of help, but I'm wondering if it's possible to dynamically create a beautiful customized receipt for purchases from my website using LaTeX, where LaTeX gets its data from my customer's form entries and my MySQL database. I suspect this is all possible through PHP and some other helping program.
Essentially, in addition to the receipt issued by my payment gateway software, I want to send an additional, but optional, custom receipt PDF to the customer's email, and have this be done on the same machine that my website and database are hosted on.
I'm wondering, in particular, how variables like customer_name and product_price and last_four_digits can be taken from a submitted customer form entry from my check_out.php page and perhaps from my MySQL database as well can be pulled into LaTeX to manipulate in LaTeX's native variable manipulation language to reorganize into my own custom receipt stylization.
In general, just to get me started, what data importing features does LaTeX have to offer? Please provide an example or a link to a resource.
( 6 months ago )
It is of course possible, I have done similar things in the past. You can write PHP scripts that call external programs and feed the content of the HTML form fields.
You will need the following:
You must be able to install your own software on the webserver, a simple web-page hosting service will not work.
You need to be careful to validate the contents of the form fields. Just imagine one user add a $-sign to one of the amounts, this would crash the LaTeX run behind. PHP security is an essential topic here.
Concerning your questions on the fields: I have made good experience with templates or even template engines, so what you basically do is to create a LaTeX file as design template. The values that are to be replaced can be masked with special character sequences like "@@customer_name@@" or something similar. What your PHP code then has to do is to:
load the template from the server
replace the above placeholders with the actual values
save the document on the server (implement a test that checks the available space!)
run latex on it
deliver it to the client via e-mail
LaTeX itself has a few data import features, e.g. with the datatool package, but since you need the external call from PHP to latex anyway, you will proably use LaTeX only for the creation of the PDF itself, not the auxiliary tasks involved.