Recently, I have been rexieving this error in python.log on my search head. As a result of the error, an email alert still gets sent out, but there is no PDF attached to it. Instead, it says "An error occurred while generating the PDF. Please see python.log for details."
2018-04-25 00:02:17,805 -0400 ERROR sendemail:1074 - An error occurred while generating a PDF: Failed to fetch PDF (status = 400): Unable to render PDF.<br/><ul><li>Exception raised while trying to prepare "*" for rendering to PDF. Splunkd daemon is not responding: ("Error connecting to /servicesNS/**/search/parser: ('The read operation timed out',)",)</li></ul>
"Splunkd daemon is not responding: The read operation timed out" error indicates that generating PDF program timed out. It's worth increasing splunkdConnectionTimeout attribute in web.conf.
splunkdConnectionTimeout = <integer> * Number of seconds to wait before timing out when communicating with splunkd * Must be at least 30 * Values smaller than 30 will be ignored, resulting in the use of the default value * Defaults to 30
Are you using any advanced XML or HTML in your dashboard? PDF rendering is not supported there.
From docs (link here: http://docs.splunk.com/Documentation/Splunk/7.1.0/Viz/DashboardPDFs)
PDFs in languages, such as Hebrew, where text should appear in right to left order, are rendered with text in left to right order.
PDFs for dashboards with multiple panels in a row might generate with only a single panel per row.
You cannot generate PDFs of dashboards that are built using advanced XML or HTML. PDF generation works only with dashboards built with simple XML.
You cannot generate PDFs for forms.
PDF generation ignores charting customizations that are not supported by the JSChart charting library. The finished PDF displays the panels as rendered in JSChart with the unsupported customizations removed.