Open
Bug 649802
Opened 14 years ago
Updated 2 years ago
Abspos with margin gets progressively skinnier on each printed page
Categories
(Core :: Printing: Output, defect)
Core
Printing: Output
Tracking
()
NEW
People
(Reporter: davidbourguignon.net, Unassigned)
References
()
Details
(Whiteboard: [dupeme?][frag2020])
Attachments
(3 files)
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0
Build Identifier: Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0
The print function of Firefox 4.0 has sometimes a strange behavior. (I am in fact always printing to PDF files, using currently PDFCreator 1.2, latest.) It works quite well on most pages I have seen, but not very well on a very simple, valid XHTML test page... I have checked with Opera 11.0, latest, and it works perfectly, therefore the problem comes most probably from Firefox 4.0.
Reproducible: Always
Steps to Reproduce:
1. Go to http://www.davidbourguignon.net/texts/critique-du-film-home-de-yann-arthus-bertrand.html
2. Click on the menu File > Print > Print to PDF (when PDFCreator 1.2 is installed as PDF printer)
3. Look at the resulting PDF : page 1 is roughly OK, page 2 and over are completely wrong...
4. Compare the output of the print to PDF manœuver on Opera 11: it works perfectly.
Actual Results:
Wrong PDF output. (See file pdfcreator1.2-firefox4.pdf in attachment.)
Expected Results:
Correct PDF output. (See file pdfcreator1.2-opera11.pdf in attachment.)
It seems that similar bugs have been reported in the past... (See bug 384841 for example.) I will try to attach the mentioned PDFs for clarity of the demonstration.
Reporter | ||
Comment 1•14 years ago
|
||
Reporter | ||
Comment 2•14 years ago
|
||
Comment 3•14 years ago
|
||
Does the page appear correctly in print preview?
Reporter | ||
Comment 4•14 years ago
|
||
Thanks Tim for your quick reply. Nope, I just checked: the page looks exactly the same in the print preview as in the PDF...
Updated•14 years ago
|
Component: General → Printing: Output
Product: Firefox → Core
QA Contact: general → printing
Version: unspecified → 2.0 Branch
Comment 5•14 years ago
|
||
The same issue occurs in 3.6
Changing the following css rule:
div.texts-body {
font-family: "Trebuchet MS",Helvetica,sans-serif;
margin-left: 20%;
margin-right: 20%;
margin-top: 300px;
position: absolute;
to
div.texts-body {
font-family: "Trebuchet MS",Helvetica,sans-serif;
margin-top: 300px;
position: absolute;
resolves the issue.
Reporter | ||
Comment 6•14 years ago
|
||
Alright Tim, but this is no longer my original layout! :-)
The CSS I'm using is fully valid according to W3C validator. Yes, the issue was also there in Firefox 3.6. It's part of the lingering printing problems that have never been addressed apparently. (There are many bug reports about that, I mentioned bug 384841 for example.)
Does this mean that Mozilla does not intend to implement fully the CSS specifications for printing HTML pages from Firefox?
Thanks in advance for your help!
Comment 7•14 years ago
|
||
(In reply to comment #6)
> Alright Tim, but this is no longer my original layout! :-)
> The CSS I'm using is fully valid according to W3C validator.
[etc]
I don't think Tim was suggesting "Change your site to this and the problem will be fixed." I think he was just offering some insight into what's going on, for the purpose of helping to get to the root of the problem in Firefox.
> Does this mean that Mozilla does not intend to implement fully the CSS
> specifications for printing HTML pages from Firefox?
Hopefully the above addresses this loaded question, too. :)
Reporter | ||
Comment 8•14 years ago
|
||
Thanks Daniel for the explanation. I should have been more careful in replying to Tim's answer... Sorry for this mishap. Thanks in advance for your help guys!
Comment 9•13 years ago
|
||
Still an issue on Mozilla/5.0 (Windows NT 5.1; rv:9.0a1) Gecko/20110903 Firefox/9.0a1 ID:20110903030832
Status: UNCONFIRMED → NEW
Ever confirmed: true
Version: 2.0 Branch → 9 Branch
Updated•13 years ago
|
Version: 9 Branch → Trunk
Comment 10•13 years ago
|
||
(clarifying bug summary)
I believe I've seen another similar open bug, but I don't know the bug number offhand. Flagging as possible-duplicate.
OS: Windows XP → All
Hardware: x86 → All
Summary: Print-to-PDF problem with a very simple valid XHTML test page (it works perfectly on Opera) → Page content gets progressively skinnier on each printed page, with margin-left: 20%; margin-right: 20%;
Whiteboard: [dupeme?]
Updated•10 years ago
|
Summary: Page content gets progressively skinnier on each printed page, with margin-left: 20%; margin-right: 20%; → Abspos with percentage margin gets progressively skinnier on each printed page
Summary: Abspos with percentage margin gets progressively skinnier on each printed page → Abspos with margin gets progressively skinnier on each printed page
Comment 11•7 years ago
|
||
Comment 12•7 years ago
|
||
Seems to me the affected cases (this bug, and bug 1033149) are all related to overflow containers.
And I'm guessing the bug is here:
https://dxr.mozilla.org/mozilla-central/rev/b5a3b8ef6902998507fc881b6d628b055457fe31/layout/generic/nsContainerFrame.cpp#1171
nsSize containerSize = aReflowInput.AvailableSize(wm).GetPhysicalSize(wm);
LogicalRect prevRect = prevInFlow->GetLogicalRect(wm, containerSize);
// Initialize reflow params
LogicalSize availSpace(wm, prevRect.ISize(wm),
aReflowInput.AvailableSize(wm).BSize(wm));
Afaict, we're passing in the frame's intended width as its available space; which works only if there's no margin. If there's a margin, it'll accumulate page by page exactly as we're seeing here. (What's *intended* to happen is that the frame gets the same width calculation as its prev-in-flow. I'm not 100% sure what would be the correct way to make that happen for all layout types, but this method obviously isn't it.)
Updated•5 years ago
|
Whiteboard: [dupeme?] → [dupeme?][frag2020]
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•