Open Bug 963557 Opened 11 years ago Updated 2 years ago

Win32: Print margins don't take unwritable margin into account, so page margin calculating is wrong.

Categories

(Core :: Printing: Output, defect, P5)

x86_64
Windows 7
defect

Tracking

()

UNCONFIRMED

People

(Reporter: dev_oskar, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

On Windows the actually printing device context is actually smaller then the real page size. Note: testing needs to be done with real printer device/driver)

Via GetDeviceCaps it is possible to calculate the real offset, non writeable margins and a lot other. (Creating DC, Querying, Closing DC)

Currently the code either uses the user selected margins or css2 page margins, but don't take into account the margins the driver reports:

Example: 

Printer non writeable margin: 0.5cm;
User selected or CSS margin: 1cm;

Result Win32: 1.5cm;
Compared to Linux: 1.0cm;

With css3 paged media in mind, re flowing with negative offsets has to be done as well, at least if zoom 100% is selected.

Say we have a 210mm width element, margins are set to zero, the resulting box needs to printed so both edges parts get cut.

The build-in PDF printing would benefit too.
 

NOTE: Recycling postscript margins isn't possible, as zero and negative offsets are the undefined state. Defaults to: -1
Blocks: 947125
Priority: -- → P5
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: