 # PDF Line Weight Inaccuracies

When comparing PDF files with different resolutions, the line widths in the resulting PDF files can vary.  The following explains why this occurs.

A  'point' is 1/72 of an inch. This is the common unit of measurement in PostScript and PDF.

The printer driver configuration specifies print widths in millimeters.  These are converted to pixels by converting to inches, multiplying by the DPI, and rounding to the nearest integer.

When the lines have passed through the graphics pipeline and are ready to be encoded in the PDF language, they are converted to points using the conversion formula (pixels / DPI) * 72.0.

The minimum line weight of a 150dpi PDF is 0.48 points, the minimum line weight of a 300dpi is 0.24 points.

(1/150)*72=0.48
(1/300)*72=0.24

For an explanation of why weights can display different when comparing a 150dpi PDF to a 300dpi PDF, refer to the following table:

A weight 6 PLTCFG width is 0.25mm (0.0099 inches). A 150dpi pixel is 0.0067 inches while a 300dpi pixel is 0.0033 inches. One 150dpi pixel is used when the maximum width is 0.0099 inches. However, three 300dpi pixels are used for the same maximum width.

Pixel width                      PDF width (points)
Weight     Pltcfg width (mm)        150 DPI  300 DPI           150 DPI    300 DPI
------------------------------------------------------------------------------------------------
0           0.075                                    0              1                           0              0.24
1           0.1                                         1             1                            0.48        0.24
2           0.125                                    1             1                            0.48        0.24
3           0.15                                      1              2                            0.48        0.48
...
6          0.25                                       1              3                           0.48         0.72

0.72 points = 0.0099 inches
0.48 points = 0.0066 inches

There is a special case for zero width.  The PDF and PostScript languages support a line width of zero, which instructs the PostScript/PDF interpreter to draw the line using the thinnest width supported by the device.  That would normally be 1/hardware_dpi inches, which may be thinner than 1/software_dpi inches (where software_dpi is the resolution specified in the printer driver configuration file).

In short, precise line width accuracy cannot be achieved if the widths in question are not significantly greater than a single pixel.