Via GSA, PDF generation works fine. If I use the pdf-report.gmp script respectively embed the code in my own scripts, I sometimes get the same Errors and sometimes a file is created but unreadable (filetype application/octet-stream).
What is conspicuous, is that the size of the unreadable file is almost twice as much as the same pdf report file exported via GSA.
Firstly I temporarily saved the XML response and removed all nodes from <report> but the text node. Parsing of this modified XML worked fine with the pdf-report.gmp code.
But instead of removing nodes I applied the solution suggested from @gormami posted in:
To achieve this, the codeline of pdf-report.gmp
had to be rewritten as follows:
from lxml import etree
# get the content of the report element
report = report_response
report = etree.tostring(report).decode('ascii')
report = re.sub('</report_format>', '</report_format><value>', report)
report = re.sub('</report>', '</value></report>', report)
report = etree.fromstring(report)
content = report.xpath('value').text
In my case, this results in a correct PDF report. Of course, this is just a workaround. But obviously there are some parser which cannot handle the XML structure of <report>. So maybe an adjustment should be considered.