Merge pull request #35812 from Rl0007/fix/chrome-pdf-generator-for-standard-format

feat: allow use of chrome pdf generator for standard print format
This commit is contained in:
Ejaaz Khan 2026-01-12 14:44:55 +05:30 committed by GitHub
commit 6a061e461f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 21 additions and 5 deletions

View file

@ -8,6 +8,7 @@
"pdf_settings",
"send_print_as_pdf",
"repeat_header_footer",
"pdf_generator",
"column_break_4",
"pdf_page_size",
"pdf_page_height",
@ -170,13 +171,20 @@
"fieldname": "pdf_page_width",
"fieldtype": "Float",
"label": "PDF Page Width (in mm)"
},
{
"default": "wkhtmltopdf",
"fieldname": "pdf_generator",
"fieldtype": "Select",
"label": "PDF Generator",
"options": "wkhtmltopdf\nchrome"
}
],
"icon": "fa fa-cog",
"index_web_pages_for_search": 1,
"issingle": 1,
"links": [],
"modified": "2024-03-23 16:03:35.392721",
"modified": "2026-01-10 11:54:14.176810",
"modified_by": "Administrator",
"module": "Printing",
"name": "Print Settings",
@ -191,8 +199,9 @@
}
],
"quick_entry": 1,
"row_format": "Dynamic",
"sort_field": "creation",
"sort_order": "DESC",
"states": [],
"track_changes": 1
}
}

View file

@ -24,6 +24,7 @@ class PrintSettings(Document):
enable_raw_printing: DF.Check
font: DF.Literal["Default", "Helvetica Neue", "Arial", "Helvetica", "Inter", "Verdana", "Monospace"]
font_size: DF.Float
pdf_generator: DF.Literal["wkhtmltopdf", "chrome"]
pdf_page_height: DF.Float
pdf_page_size: DF.Literal[
"A0",

View file

@ -710,8 +710,14 @@ frappe.ui.form.PrintView = class {
);
}
}
render_page(method, printit = false, pdf_generator = "wkhtmltopdf") {
get_pdf_generator(pdf_generator) {
if (!pdf_generator) {
pdf_generator = this.print_settings.pdf_generator || "wkhtmltopdf";
}
return pdf_generator;
}
render_page(method, printit = false, pdf_generator) {
pdf_generator = this.get_pdf_generator(pdf_generator);
let w = window.open(
frappe.urllib.get_full_url(
method +

View file

@ -175,7 +175,7 @@ def find_or_download_chromium_executable():
import shutil
from pathlib import Path
if chromium_path := shutil.which(frappe.get_common_site_config().chromium_path):
if chromium_path := shutil.which(frappe.get_common_site_config().get("chromium_path", "")):
return chromium_path
bench_path = frappe.utils.get_bench_path()