BP Forms works by turning a template into a finished document. It inserts data that you, as a programmer, provide to the API into the template. If a document is not printing, the possible causes are:
1) The wrong template is being read by your print program
2) Data that you are attempting to insert into the document has not been properly xml encoded with the bpi.xmlencode() subroutine or with your own XML encoder. All data to be inserted into a document must be encoded for xml or it can corrupt the output document and it will not load or print. You can test a suspect document by allowing BP Forms to generate it and then attempting to open it using Open Office or Libre office. If these applications error when loading, then you probably inserted some improperly encoded data into the document.
3) The output path that your print program is attempting to write is wrong or does not exist
Often, BP Forms will tell you precisely the issue if you turn up verbosity in your print program and carefully examine the output messages that are generated when the document is being generated by your print program. If the output document is being properly written to the intended path and you can load it using open office or libre office, then this proves that your print program is not the issue and that the problem is occuring when the document is being handed to open office for printing.
Most BP Forms users configure their system to use the BP Forms phantoms to pickup the document dropped by your print program and then the phantom sends the document to the print server and directs open office to print it. If the document is properly written but does not print, then the issue could be:
1) The print server is off-line
2) Open office / libre office on the print server has become inoperative
3) The mount that the print server uses to reach into the output directory to read the document is not operational
4) The ip address of the host or the print server has changed
5) The SSH certificate between the host and the print server is no longer valid
If you turn the verbosity of the phantom to level 5 then restart the phantom, you can then examine the phantom logs. These logs will often tell you exactly what is going wrong.