diff --git a/src/calibre/ebooks/pdf/html_writer.py b/src/calibre/ebooks/pdf/html_writer.py
index 0f2ac82142..b8143b1e12 100644
--- a/src/calibre/ebooks/pdf/html_writer.py
+++ b/src/calibre/ebooks/pdf/html_writer.py
@@ -85,10 +85,11 @@ class Renderer(QWebEnginePage):
work_done = pyqtSignal(object, object)
- def __init__(self, opts, parent):
+ def __init__(self, opts, parent, log):
QWebEnginePage.__init__(self, parent.profile, parent)
secure_webengine(self)
self.working = False
+ self.log = log
self.load_complete = False
self.settle_time = 0
self.wait_for_title = None
@@ -136,7 +137,7 @@ class Renderer(QWebEnginePage):
def javaScriptConsoleMessage(self, level, message, linenum, source_id):
try:
- print('{}:{}:{}'.format(source_id, linenum, message))
+ self.log('{}:{}:{}'.format(source_id, linenum, message))
except Exception:
pass
@@ -182,7 +183,7 @@ class RenderManager(QObject):
def __init__(self, opts, log, container_root):
QObject.__init__(self)
self.interceptor = RequestInterceptor(self)
- self.interceptor.log = log
+ self.interceptor.log = self.log = log
self.interceptor.container_root = os.path.normcase(os.path.abspath(container_root))
ans = QWebEngineProfile(QApplication.instance())
ua = 'calibre-pdf-output ' + __version__
@@ -199,7 +200,7 @@ class RenderManager(QObject):
self.original_signal_handlers = setup_unix_signals(self)
def create_worker(self):
- worker = Renderer(self.opts, self)
+ worker = Renderer(self.opts, self, self.log)
worker.work_done.connect(self.work_done)
self.workers.append(worker)
@@ -926,6 +927,7 @@ def add_header_footer(manager, opts, pdf_doc, container, page_number_display_map
'margin-bottom': '0',
'padding': '0',
'border-width': '0',
+ 'overflow': 'hidden',
}
ans = m('div', style=style, id='p{}'.format(page_num))
@@ -942,7 +944,7 @@ def add_header_footer(manager, opts, pdf_doc, container, page_number_display_map
style = ans.get('style') or ''
style = (
'margin: 0; padding: 0; height: {height}pt; border-width: 0;'
- 'display: flex; align-items: center;').format(height=height) + style
+ 'display: flex; align-items: center; overflow: hidden').format(height=height) + style
ans.set('style', style)
for child in ans.xpath('descendant-or-self::*[@class]'):
cls = frozenset(child.get('class').split())