OASIS Open Document Format for Office Applications (OpenDocument) TC

Expand all | Collapse all

Public comment #20 -- default print range in tables

  • 1.  Public comment #20 -- default print range in tables

    Posted 06-29-2008 19:56

    What we have currently in section 8.1.1 is:

    "If the table is printed, the table range that actually is printed can be specified by table:printrange
    attribute (see following section). If this attribute is not existing, the used area of the table
    will be printed."


    This does not define what "used area of the table" is.

    We could define it as "The smallest rectangular range which contains all cells with background color, formula, value, or border".

    But is that true?  Or do applications print the range from A1 (upper left) to the row/column that encloses the furthest visible content?  In other words, the smallest rectangular region which contains cell A1 and all cells with  background color, formula, value, or border.

    There may not be agreement among implementations today on how this works.  If that is the case, we could indicate that this is implementation-defined.


    -Rob



  • 2.  Re: [office] Public comment #20 -- default print range in tables

    Posted 06-30-2008 11:42
    Hi Robert,
    
    On Sunday, 2008-06-29 15:56:53 -0400, Robert Weir wrote:
    
    > [... "used area of the table" ...]
    > 
    > We could define it as "The smallest rectangular range which contains all 
    > cells with background color, formula, value, or border".
    > 
    > But is that true?  Or do applications print the range from A1 (upper left) 
    > to the row/column that encloses the furthest visible content?  In other 
    > words, the smallest rectangular region which contains cell A1 and all 
    > cells with  background color, formula, value, or border.
    
    This is what Calc does. Printout doesn't have to start from A1 though.
    If the top left data cell was X234 the printout could start there as
    well. However, the top left cell is not necessarily printed on the top
    left of the first page, page calculation is done as if empty pages were
    printed, so the top left cell may as well reside in the middle of the
    first page. Also, if there's only formatting without any data in cells,
    pages are skipped to not end up with 1000 or so coloured pages just
    because an entire column had some background colour applied.
    
      Eike
    
    -- 
     OpenOffice.org / StarOffice Calc core developer and i18n transpositionizer.
     SunSign   0x87F8D412 : 2F58 5236 DB02 F335 8304  7D6C 65C9 F9B5 87F8 D412
     OpenOffice.org Engineering at Sun: http://blogs.sun.com/GullFOSS
    


  • 3.  Re: [office] Public comment #20 -- default print range in tables

    Posted 06-30-2008 15:11
    On Monday 30 June 2008, Eike Rathke wrote:
    > Hi Robert,
    > 
    > On Sunday, 2008-06-29 15:56:53 -0400, Robert Weir wrote:
    > 
    > > [... "used area of the table" ...]
    > > 
    > > We could define it as "The smallest rectangular range which contains all 
    > > cells with background color, formula, value, or border".
    > > 
    > > But is that true?  Or do applications print the range from A1 (upper left) 
    > > to the row/column that encloses the furthest visible content?  In other 
    > > words, the smallest rectangular region which contains cell A1 and all 
    > > cells with  background color, formula, value, or border.
    > 
    > This is what Calc does. Printout doesn't have to start from A1 though.
    > If the top left data cell was X234 the printout could start there as
    > well. However, the top left cell is not necessarily printed on the top
    > left of the first page, page calculation is done as if empty pages were
    > printed, so the top left cell may as well reside in the middle of the
    > first page. Also, if there's only formatting without any data in cells, 
    > pages are skipped to not end up with 1000 or so coloured pages just
    > because an entire column had some background colour applied.
    
    This behavior seems sensible.
    
    I have asked myself, is this app-specific behavior or should it be in the spec?
    The difference it makes is: if you send a document to someone else and tell
    them "print this!", then a difference in behavior between two applications would
    indeed break interoperability somewhat; the receiving user will print something rather
    different than what the sender of the document intended. Page breaks at
    a different place could rather ruin the printed document.
    So, contrary to my first reaction of "this is app-specific behavior", I believe
    it is useful to have this in the specification. I'm CC'ing the main KSpread developer
    in case he disagrees, though :)
    
    -- 
    David Faure, faure@kde.org, sponsored by Trolltech to work on KDE,
    Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).
    


  • 4.  Re: [office] Public comment #20 -- default print range in tables

    Posted 06-30-2008 21:28
    On Mon, 2008-06-30 at 17:11 +0200, David Faure wrote:
    > On Monday 30 June 2008, Eike Rathke wrote:
    > > Hi Robert,
    > > 
    > > On Sunday, 2008-06-29 15:56:53 -0400, Robert Weir wrote:
    > > 
    > > > [... "used area of the table" ...]
    > > > 
    > > > We could define it as "The smallest rectangular range which contains all 
    > > > cells with background color, formula, value, or border".
    > > > 
    > > > But is that true?  Or do applications print the range from A1 (upper left) 
    > > > to the row/column that encloses the furthest visible content?  In other 
    > > > words, the smallest rectangular region which contains cell A1 and all 
    > > > cells with  background color, formula, value, or border.
    > > 
    > > This is what Calc does. Printout doesn't have to start from A1 though.
    > > If the top left data cell was X234 the printout could start there as
    > > well. However, the top left cell is not necessarily printed on the top
    > > left of the first page, page calculation is done as if empty pages were
    > > printed, so the top left cell may as well reside in the middle of the
    > > first page. Also, if there's only formatting without any data in cells, 
    > > pages are skipped to not end up with 1000 or so coloured pages just
    > > because an entire column had some background colour applied.
    > 
    > This behavior seems sensible.
    > 
    > I have asked myself, is this app-specific behavior or should it be in the spec?
    > The difference it makes is: if you send a document to someone else and tell
    > them "print this!", then a difference in behavior between two applications would
    > indeed break interoperability somewhat; the receiving user will print something rather
    > different than what the sender of the document intended. Page breaks at
    > a different place could rather ruin the printed document.
    > So, contrary to my first reaction of "this is app-specific behavior", I believe
    > it is useful to have this in the specification. I'm CC'ing the main KSpread developer
    > in case he disagrees, though :)
    
    This behaviour sounds rather strange to me. I believe to understand that
    "empty" in Calc means that there is no content (rather than that there
    is neither content nor styles.) If this is a correct interpretation than
    how does one use Calc to print forms that have formatting but not
    necessarily content on every printable page? I am sure there are spread
    sheet users that will print pages that contain only borders, background
    colors (and perhaps "repeated rows or columns").
    
    Andreas
    
    
    


  • 5.  Re: [office] Public comment #20 -- default print range in tables

    Posted 07-01-2008 05:23
    2008/6/30 David Faure 


  • 6.  Re: [office] Public comment #20 -- default print range in tables

    Posted 07-01-2008 07:15
    Dave Pawson wrote:
    > 2008/6/30 David Faure 


  • 7.  Re: [office] Public comment #20 -- default print range in tables

    Posted 07-01-2008 07:55
    2008/7/1 Michael Brauer - Sun Germany - ham02 - Hamburg
    


  • 8.  Re: [office] Public comment #20 -- default print range in tables

    Posted 07-01-2008 10:00
    Dave Pawson wrote:
    > 2008/7/1 Michael Brauer - Sun Germany - ham02 - Hamburg
    > 


  • 9.  Re: [office] Public comment #20 -- default print range in tables

    Posted 07-01-2008 10:21
    2008/7/1 Michael Brauer - Sun Germany - ham02 - Hamburg
    


  • 10.  Re: [office] Public comment #20 -- default print range in tables

    Posted 07-01-2008 12:02
    Dave Pawson wrote:
    > 2008/7/1 Michael Brauer - Sun Germany - ham02 - Hamburg
    > 


  • 11.  Re: [office] Public comment #20 -- default print range in tables

    Posted 07-01-2008 12:22
    2008/7/1 Michael Brauer - Sun Germany - ham02 - Hamburg
    


  • 12.  Re: [office] Public comment #20 -- default print range in tables

    Posted 07-01-2008 17:23
    On Tue, 2008-07-01 at 13:22 +0100, Dave Pawson wrote:
    > 2008/7/1 Michael Brauer - Sun Germany - ham02 - Hamburg
    > 


  • 13.  Re: [office] Public comment #20 -- default print range in tables

    Posted 07-01-2008 14:01

    A few other scenarios:

    1) A user loads a ODF spreadsheet document where no print range was specified.  They select a range of cells and click the print button.  What prints?  The selected range?  Or the default range?  Note that they have not saved the document with the new print range yet.

    2) A user loads an ODF spreadsheet document with a pre-defined print range.  They select a range of cells and click the print button.  What prints?  The selected range?  Or the stored print range?  Note that they have not saved the document with the new print range yet.

    3) A user loads a ODF spreadsheet document where no print range was specified. The user clicks the print button.  The application queries the user for what range they want to print.


    My point here is that runtime print behavior is more complicated than what we are saying in the standard.  The stored print range expresses what the document author set as the preferred print range.  But it does not determine what is printed the next time.  It can be overridden by the user, in the application, without changing the file.  So it is really a hint or a preference.  

    Similarly, the lack of a specified print range could invoke some logic to calculate a default print range, or it could be pre-selected by the user in the UI (again, without changing the stored document) or the user could be prompted for this information.

    Once we go down the road of defining runtime print behavior of applications, we need to deal with more than just the data in the document.  It gets messy very quickly.

    -Rob


  • 14.  Re: [office] Public comment #20 -- default print range in tables

    Posted 07-01-2008 14:21
    2008/7/1  


  • 15.  Re: [office] Public comment #20 -- default print range in tables

    Posted 07-01-2008 17:20
    Please let me describe how we select the range to be printed in
    Gnumeric:
    
    First of all there is always a defined printarea. By default it is the
    whole sheet. Another option attached to each sheet is whether to print
    styles with no content (this defaults to "false").
    
    If "print styles with no content" is false the range printed is the
    intersection of 
    (a) the smallest rectangle including all cells with content and 
    (b) the printarea.
    
    
    If "print styles with no content" is true the range printed is the
    intersection of 
    (a) the smallest rectangle including all cells with content or attached
    styles and 
    (b) the printarea.
    
    
    Independent from that at print time the user may choose to ignore the
    printarea setting (in which case the printarea used is the whole sheet)
    or to print the current selection only.
    
    Andreas
    -- 
    "Liberty consists less in acting according to
    one's own pleasure, than in not being subject 
    to the will and pleasure of other people. It 
    consists also in our not subjecting the wills 
    of other people to our own."  Rousseau
    
    
    Prof. Dr. Andreas J. Guelzow
    Dept. of Mathematical & Computing Sciences
    Concordia University College of Alberta
    
    


  • 16.  Re: [office] Public comment #20 -- default print range in tables

    Posted 07-02-2008 00:16
    On Tuesday 01 July 2008, Michael Brauer - Sun Germany - ham02 - Hamburg wrote:
    > Dave Pawson wrote:
    > > 2008/6/30 David Faure 


  • 17.  Re: [office] Public comment #20 -- default print range in tables

    Posted 06-30-2008 16:24
    On Sun, 2008-06-29 at 15:56 -0400, robert_weir@us.ibm.com wrote:
    > 
    > What we have currently in section 8.1.1 is: 
    > 
    > "If the table is printed, the table range that actually is printed can
    > be specified by table:printrange 
    > attribute (see following section). If this attribute is not existing,
    > the used area of the table 
    > will be printed." 
    > 
    > 
    > This does not define what "used area of the table" is. 
    > 
    > We could define it as "The smallest rectangular range which contains
    > all cells with background color, formula, value, or border". 
    > 
    > But is that true?  Or do applications print the range from A1 (upper
    > left) to the row/column that encloses the furthest visible content?
    >  In other words, the smallest rectangular region which contains cell
    > A1 and all cells with  background color, formula, value, or border. 
    > 
    > There may not be agreement among implementations today on how this
    > works.  If that is the case, we could indicate that this is
    > implementation-defined. 
    
    At least some application have additional choices: at a minimum one can
    usually choose whether "used are" looks only at content or also at
    styles.
    
    Andreas
    -- 
    "Liberty consists less in acting according to
    one's own pleasure, than in not being subject 
    to the will and pleasure of other people. It 
    consists also in our not subjecting the wills 
    of other people to our own."  Rousseau
    
    
    Prof. Dr. Andreas J. Guelzow
    Dept. of Mathematical & Computing Sciences
    Concordia University College of Alberta