     private let lineHeight: CGFloat
     private var printsLineNumber = false
     private var xOffset: CGFloat = 0
-    private let dateFormatter: DateFormatter
     private var lastPaperContentSize: NSSize = .zero
+    private lazy var dateFormatter: DateFormatter = .init()
     
     private var asyncHighlightObserver: AnyCancellable?
     

    // MARK: Lifecycle
    
    init() {
        
        // prepare date formatter
        self.dateFormatter = DateFormatter()
        self.dateFormatter.dateFormat = UserDefaults.standard[.headerFooterDateFormat]
        
        self.tabWidth = UserDefaults.standard[.tabWidth]
        self.lineHeight = UserDefaults.standard[.lineHeight]

        textContainer.widthTracksTextView = true
        textContainer.isHangingIndentEnabled = UserDefaults.standard[.enablesHangingIndent]
        textContainer.hangingIndentWidth = UserDefaults.standard[.hangingIndentWidth]
        textContainer.lineFragmentPadding = self.lineFragmentPadding
        // -> If padding is changed while printing, the print area can be cropped due to text wrapping.
        
        // setup textView components
        let textStorage = NSTextStorage()
