Pdf error while sending email

Traceback (most recent call last):
File “/home/frappe/frappe-bench/apps/frappe/frappe/desk/form/save.py”, line 22, in savedocs
doc.save()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 223, in save
return self._save(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 242, in _save
self.insert()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 206, in insert
self.run_method(“after_insert”)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 651, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 858, in composer
return composed(self, method, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 841, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 645, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/user/user.py”, line 45, in after_insert
self.set_default_roles()
File “/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/user/user.py”, line 129, in set_default_roles
self.add_roles(default_role)
File “/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/user/user.py”, line 375, in add_roles
self.save()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 223, in save
return self._save(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 269, in _save
self.run_post_save_methods()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 768, in run_post_save_methods
self.run_method(“on_update”)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 653, in run_method
self.run_email_alerts(method)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 699, in run_email_alerts
_evaluate_alert(alert)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 683, in _evaluate_alert
evaluate_alert(self, alert.name, alert.event)
File “/home/frappe/frappe-bench/apps/frappe/frappe/email/doctype/email_alert/email_alert.py”, line 194, in evaluate_alert
alert.send(doc)
File “/home/frappe/frappe-bench/apps/frappe/frappe/email/doctype/email_alert/email_alert.py”, line 128, in send
attachments = [frappe.attach_print(doc.doctype, doc.name)] if self.attach_print else None)
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 1200, in attach_print
“fcontent”: get_print(doctype, name, print_format=print_format, style=style, html=html, as_pdf=True, doc=doc)
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 1183, in get_print
return get_pdf(html, output = output)
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/pdf.py”, line 17, in get_pdf
pdfkit.from_string(html, fname, options=options or {})
File “/home/frappe/frappe-bench/env/src/pdfkit/pdfkit/api.py”, line 68, in from_string
return r.to_pdf(output_path)
File “/home/frappe/frappe-bench/env/src/pdfkit/pdfkit/pdfkit.py”, line 140, in to_pdf
raise IOError(‘wkhtmltopdf reported an error:\n’ + stderr.decode(‘utf-8’))
IOError: wkhtmltopdf reported an error:
Error: Authentication Required
Error: Authentication Required

Traceback (most recent call last):
File “/home/frappe/frappe-bench/apps/frappe/frappe/app.py”, line 55, in application
response = frappe.handler.handle()
File “/home/frappe/frappe-bench/apps/frappe/frappe/handler.py”, line 19, in handle
execute_cmd(cmd)
File “/home/frappe/frappe-bench/apps/frappe/frappe/handler.py”, line 40, in execute_cmd
ret = frappe.call(method, **frappe.form_dict)
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 897, in call
return fn(*args, **newargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/desk/form/save.py”, line 22, in savedocs
doc.save()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 223, in save
return self._save(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 242, in _save
self.insert()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 206, in insert
self.run_method(“after_insert”)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 651, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 858, in composer
return composed(self, method, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 841, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 645, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/user/user.py”, line 45, in after_insert
self.set_default_roles()
File “/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/user/user.py”, line 129, in set_default_roles
self.add_roles(default_role)
File “/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/user/user.py”, line 375, in add_roles
self.save()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 223, in save
return self._save(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 269, in _save
self.run_post_save_methods()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 768, in run_post_save_methods
self.run_method(“on_update”)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 653, in run_method
self.run_email_alerts(method)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 699, in run_email_alerts
_evaluate_alert(alert)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 683, in _evaluate_alert
evaluate_alert(self, alert.name, alert.event)
File “/home/frappe/frappe-bench/apps/frappe/frappe/email/doctype/email_alert/email_alert.py”, line 194, in evaluate_alert
alert.send(doc)
File “/home/frappe/frappe-bench/apps/frappe/frappe/email/doctype/email_alert/email_alert.py”, line 128, in send
attachments = [frappe.attach_print(doc.doctype, doc.name)] if self.attach_print else None)
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 1200, in attach_print
“fcontent”: get_print(doctype, name, print_format=print_format, style=style, html=html, as_pdf=True, doc=doc)
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 1183, in get_print
return get_pdf(html, output = output)
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/pdf.py”, line 17, in get_pdf
pdfkit.from_string(html, fname, options=options or {})
File “/home/frappe/frappe-bench/env/src/pdfkit/pdfkit/api.py”, line 68, in from_string
return r.to_pdf(output_path)
File “/home/frappe/frappe-bench/env/src/pdfkit/pdfkit/pdfkit.py”, line 140, in to_pdf
raise IOError(‘wkhtmltopdf reported an error:\n’ + stderr.decode(‘utf-8’))
IOError: wkhtmltopdf reported an error:
Error: Authentication Required
Error: Authentication Required

Hi Abed El Wahab ,
how i can generate this error on my local ?

Hi @ahmadRagheb

Check error logs.