IFX Mail Archive: RE: IFX> PDF/is structuring - for 3/21 con

RE: IFX> PDF/is structuring - for 3/21 conference call

From: Rick Seeler (rseeler@adobe.com)
Date: Fri Mar 21 2003 - 12:34:07 EST

  • Next message: Rick Seeler: "IFX> IPPFAX and PDF/is Conference call."

    My comments, below...

    -Rick

    > -----Original Message-----
    > From: owner-ifx@pwg.org [mailto:owner-ifx@pwg.org] On Behalf
    > Of Buckley, Robert R
    > Sent: Friday, March 21, 2003 9:12 AM
    > To: 'ifx@pwg.org'
    > Subject: IFX> PDF/is structuring - for 3/21 conference call
    >
    >
    >
    > What I am wondering is how religious we have to be about the
    > ordering of the objects needed to image a page. Right now,
    > PDF/is Ver. 0.5 proposes the following layout for page objects:
    >
    > Page Object
    > Content Stream, Image Mask, Image Object %repeated as
    > many times as necessary
    >
    > %one content stream per image or image-mask pair

    No, you can have any number of content streams, each of which can refer to any
    number of images.

    > Resource Dictionary
    >
    > If the number of images or image-mask pairs on the page is
    > not known in advance, then the Page Object cannot be
    > definitively written until the page is completely processed

    True, but your assumption is wrong as noted above.

    > since the number of content streams is not known at the time
    > the writer encounters the Page Object. If there is only one
    > content stream for the entire page, then the Page Object is
    > known before any page processing has occurred, but the single
    > content stream is not known until the page is completely
    > processed. So place the content stream in the file after the
    > all the images and image-mask pairs.

    This is the reason I allow for multiple content streams, so you don't have to
    generate the entire page in a buffer.

    >
    > Page Object
    > Image Mask, Image Object %repeated as many times as necessary
    > Content Stream
    > Resource Dictionary
    >
    > A writer could assemble all this in memory before writing out
    > the objects for the page-in that case, any ordering of

    True, but if the Producer can do this, why can't it follow the rules as they are
    written in 0.5 to aid the streaming Consumer?

    > objects is possible. The only certain constraint is that all
    > the objects needed to image a page come together in the file.
    > Even then there is no requirement that the Page Object be
    > first. So the following is also plausible.
    >
    > Content Stream
    > Image Mask, Image Object %repeated as many times as necessary
    > Resource Dictionary
    > Page Object

    This is close to as we have it now, but with the Page Object first.
    Here is how it's defined in 0.5:

    Page object
    Content Stream
    Image Mask(s)
    Image Object(s)
    Content Stream (optional)
    Image Mask(s)
    Image Object(s)
    Content Stream (optional)
    Image Mask(s)
    Image Object(s)
    ...
    Resource Dictionary

    >
    > I know Ver. 0.5 has conformance rules, but I believe it is
    > based on assumptions about the writer and reader (and the
    > supporting libraries) that need to be made more explicit. For
    > example, a reader could accumulate all the objects in the
    > file and then image the page when it encountered a Page
    > Object. Or it could be set up to image the objects in the
    > order they are encountered, but there is no guarantee that
    > the image objects can even be in that order so that a page
    > buffer is required.

    The 'banding operator' orders the images and aids the Consumer. The multiple
    content streams aid the Producer by allowing more flexibility in how the content
    is created.

    >
    > Somewhere in here also is how the association is made between
    > the content stream elements and the objects to which they
    > apply. For example, when the content stream says "/Obj1 Do"
    > how does it know which is Obj1? Is there a Name entry in the
    > image object, or is it via the Resource Dictionary?

    By strict PDF definition, "Obj1" is used in the Content Stream and defined in
    the Resource Dictionary. I've added an additional restriction that says the
    number at the end of the tag is also an object number. This allows the Consumer
    the ability to process the stream without waiting for the Resource Dictionary.

    >
    > There has been e-mail on some of these points before, but I
    > would like to collect all the points in a single discussion
    > at today's meeting.
    >
    > Rob
    >
    >
    >
    >
    >
    >
    >



    This archive was generated by hypermail 2b29 : Fri Mar 21 2003 - 12:34:23 EST