[reportlab-users] Huge PDF problem! ,-)

Bernhard Herzog reportlab-users@reportlab.com
03 Jul 2002 15:06:34 +0200


Robin Becker <robin@reportlab.com> writes:

> In article <1025689169.3d22c65147378@webmail.in-berlin.de>, Dinu Gherman
> <gherman@darwin.in-berlin.de> writes
> >Hi,
> >
> >has anybody here ever produced *really* big PDFs (a few
> >meters wide or tall)? It seems like there are some limits
> >in AR if not in PDF itself... The rest is something I've 
> >posted recently on the RL team list...
> >
> >Dinu
> ....Dinu all numbers in PDF are represented in points using a 16.16
> fixed point signed binary representation. So internally numbers are
> limited to the range +/- 32767.999984741211. The smallest non-zeros are 
> +/- 1.52587890625e-005 (ie +/- 1/(2**16)) all this means that your
> largest canvas is around 11.55982221683926 meters on a side.

Well, Strictly speaking that's an implementation limit of Adobe's
Acrobat viewer applications not of PDF itself.

The specification has this to say (PDF 1.4, section 3.2.2):

    PDF provides two types of numeric object: integer and real. Integer
    objects represent mathematical integers within a certain interval
    centered at 0. Real objects approximate mathematical real numbers,
    but with limited range and precision; they are typically represented
    in fixed-point, rather than floating-point, form. The range and
    precision of numbers are limited by the internal representations
    used in the machine on which the PDF viewer application is running;
    Appendix C gives these limits for typical implementations.

And in Appendix C:

    Table C.1 describes the architectural limits for Acrobat viewer
    applications running on 32-bit machines. Because Acrobat
    implementations are subject to these limits, applications producing
    PDF files are strongly advised to remain within them.

Table C.1 more or less implies indeed that Acrobat Reader uses the fixed
point representation Robin described above.

   Bernhard

-- 
Intevation GmbH                                 http://intevation.de/
Sketch                                 http://sketch.sourceforge.net/
MapIt!                                           http://www.mapit.de/