Ok, I found out how to do that!
Twitter style gets broken when you print due to the fact that HTML stylesheets can have media types assigned to them, thus providing different styles for different media (printer, screen etc).
So, I saved Twitter page that I need to print to an HTML file (choosing Web Page, complete) and looked into HTML sources. I saw that the main CSS was having
media="screen" - which meant that this CSS had no effect for printing.
I removed just this single
media="screen" text from the HTML and saved it.
Now Twitter page gets printed the right way!
This info will be also useful to other people trying to print or take a screenshot of a large huge web pages.
When your screenshot taking plugin/add-on fails due to the web page size (in case of Firefox it results in this exception in Error console:
Error: uncaught exception: [Exception... "Component returned failure code:
0x8007000e (NS_ERROR_OUT_OF_MEMORY) [nsIDOMHTMLCanvasElement.getContext]"
nsresult: "0x8007000e (NS_ERROR_OUT_OF_MEMORY)" location: "JS frame ::
chrome://uploadscreenshot/content/uploadscreenshot.js :: <TOP_LEVEL> ::
line 211" data: no]
) you printing to a PDF printer and this style editing method will help you!