Dashboard > uDig > Home > Architecture > Printing Architecture
uDig
Printing Architecture
Added by Jive , last edited by Jody Garnett on Mar 14, 2008  (view change)
Labels: 
(None)

Home Research Requirements Architecture Design [Modules] Reference [Team] GeoConnections Project Schedule

The perspective of printing is all about data flow. Things that were easy for rendering (like WMS requests) become difficult as we lose the safety of a target raster.

Use Cases

  • User hits "print"
    1. User selects Print
    2. User selects [Printer] and [PageLayout]
    3. System obtains a PrintContext - a modified version of Context that is optimized for the printing side
    4. System obtains a net.refractions.udig.printing.template
    5. Calls the net.refractions.udig.printing
    6. net.refractions.udig.printing obtains a Graphics2D object from
    7. net.refractions.udig.printing passes the Graphics2D object to rending system
    8. Rendering system returns a finished Graphics2D object
    9. Paper comes out of printer
  • User defines a layout with things like legend, north arrow, title and scale
  • User prints to PDF
  • User selects information to be highlighted in their report
  • User prints a map book based on a single layout multiple bbox
  • User saves their context+layout to disk for later reuse
  • User loads a context+layout

Modules

Diagram

Design Notes

The printing pipeline is similar in execution to the rendering pipeline. Several key differences have appeared:

  • additional decorators such as a scalebar, compass, and legend
  • need to completely render presents a different spin than the "continual update" required for screen
  • connect renderer directly with a Graphics2D object provided by a Printer/PDF

General idea is to call each renderer:

  • in reverse order
  • for selection in reverse order
  • for each decoration (legend, title, etc...)

We may have issues with "draw through" that we do not on screen, and PDF file size (depending on the amount of linework saved).

Context will be extended with additional "layers" for page decorators

Powered by a free Atlassian Confluence Open Source Project License granted to uDig. Evaluate Confluence today.
Powered by Atlassian Confluence 2.7.1, the Enterprise Wiki. Bug/feature request - Atlassian news - Contact administrators
User-friendly Desktop Internet GIS