With <pd4ml:savefile> tag you have possibility to store just generated PDF to hard drive and redirect user’s browser to read the PDF as static resource or to redirect the request to another URL for PDF post-processing.
Note: the tag should be nested to <pd4ml:transform> and have no body.
Usage 1.
<pd4ml:savefile uri="/WEB/savefile/saved/" dir="D:/spool/generated_pdfs" redirect="pdf" debug="false"/>
The tag above forces PD4ML to save the generated PDF to D:/spool/generated_pdfs with an autogenerated name.
It is expected, that local directory D:/spool/generated_pdfs corresponds to URL http://yourserver.com/WEB/savefile/saved/ (as given in “uri“ attribute)
After generation PD4ML will send to client’s browser a redirect command with URL like that:
http://yourserver.com/WEB/savefile/saved/generated_name.pdf
Usage 2.
<pd4ml:savefile dir="D:/spool/generated_pdfs" redirect="/mywebapp/send_pdf_by_email.jsp" debug="false"/>
The tag above forces PD4ML to save the generated PDF to D:/spool/generated_pdfs with an autogenerated name.
After that it forwards to /mywebapp/send_pdf_by_email.jsp with a parameter filename=<pdfname>.
So send_pdf_by_email.jsp can read file name
String fileName = request.getParameter(“filename”);
build full path
String path = “D:/spool/generated_pdfs” + “/” + fileName;
read the just-generated PDF file and and perform post–processing or other actions (like email sending).
In both cases above you can predefine PDF file name with “name” attribute. If a file with the name is already exists in D:/spool/generated_pdfs, than the new file name is appended with an auto–incremented numeric value.