diff --git a/frappe/printing/page/print/print.js b/frappe/printing/page/print/print.js
index 233bbe0ce7..fc59065c64 100644
--- a/frappe/printing/page/print/print.js
+++ b/frappe/printing/page/print/print.js
@@ -409,19 +409,14 @@ frappe.ui.form.PrintView = class {
setup_print_format_dom(out, $print_format) {
this.print_wrapper.find('.print-format-skeleton').remove();
let base_url = frappe.urllib.get_base_url();
- let print_css = frappe.assets.bundled_asset('print.bundle.css');
+ let print_css = frappe.assets.bundled_asset('print.bundle.css', frappe.utils.is_rtl(this.lang_code));
+ this.$print_format_body.find('html').attr('dir', frappe.utils.is_rtl(this.lang_code) ? 'rtl': 'ltr');
+ this.$print_format_body.find('html').attr('lang', this.lang_code);
this.$print_format_body.find('head').html(
`
`
);
- if (frappe.utils.is_rtl(this.lang_code)) {
- let rtl_css = frappe.assets.bundled_asset('frappe-rtl.bundle.css');
- this.$print_format_body.find('head').append(
- ``
- );
- }
-
this.$print_format_body.find('body').html(
`
${out.html}
`
);
diff --git a/frappe/public/html/print_template.html b/frappe/public/html/print_template.html
index 721bec7fa7..39cc6b4274 100644
--- a/frappe/public/html/print_template.html
+++ b/frappe/public/html/print_template.html
@@ -1,5 +1,5 @@
-
+
diff --git a/frappe/public/js/frappe/views/reports/query_report.js b/frappe/public/js/frappe/views/reports/query_report.js
index 208d5b2f67..a4b3564e37 100644
--- a/frappe/public/js/frappe/views/reports/query_report.js
+++ b/frappe/public/js/frappe/views/reports/query_report.js
@@ -1264,7 +1264,9 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
print_css: print_css,
print_settings: print_settings,
landscape: landscape,
- columns: columns
+ columns: columns,
+ lang: frappe.boot.lang,
+ layout_direction: frappe.utils.is_rtl() ? "rtl" : "ltr"
});
frappe.render_pdf(html, print_settings);
diff --git a/frappe/www/printview.html b/frappe/www/printview.html
index 05e85730dd..3f8d4201fb 100644
--- a/frappe/www/printview.html
+++ b/frappe/www/printview.html
@@ -1,5 +1,5 @@
-
+
diff --git a/frappe/www/printview.py b/frappe/www/printview.py
index 226d5b048a..cdf47790eb 100644
--- a/frappe/www/printview.py
+++ b/frappe/www/printview.py
@@ -7,6 +7,7 @@ from frappe import _
from frappe.modules import get_doc_path
from frappe.core.doctype.access_log.access_log import make_access_log
from frappe.utils import cint, sanitize_html, strip_html
+from frappe.utils.jinja_globals import is_rtl
no_cache = 1
@@ -44,7 +45,8 @@ def get_context(context):
"css": get_print_style(frappe.form_dict.style, print_format),
"comment": frappe.session.user,
"title": doc.get(meta.title_field) if meta.title_field else doc.name,
- "has_rtl": True if frappe.local.lang in ["ar", "he", "fa", "ps"] else False
+ "lang": frappe.local.lang,
+ "layout_direction": "rtl" if is_rtl() else "ltr"
}
def get_print_format_doc(print_format_name, meta):