ActiveReports.Viewer3 Request technical support
Draw Method
See Also  Example


Renders the page's content to the specified Graphics object at the specified coordinates.

Overload List

OverloadDescription
Draw(Graphics,RectangleF)Renders the page's content to the specified Graphics object at the specified coordinates.  
Draw(Graphics,RectangleF,Single,Single)  
Draw(Graphics,RectangleF,Single,Single,Boolean)For internal use.  
Draw(Graphics,RectangleF,TextRenderingHint,Single,Single)For internal use.  

Example

C#Copy Code
private void arScale()
{    
   aPage =
new DataDynamics.ActiveReports.Document.Page();    
   DataDynamics.ActiveReports.Interop.SystemPrinter m_myARPrinter =
new DataDynamics.        
       ActiveReports.Interop.SystemPrinter();    
   m_myARPrinter.StartJob(
"Test Printer");    
   System.Drawing.RectangleF rec;    
   
float xOffSet = m_myARPrinter.PhysicalOffsetX/m_myARPrinter.Graphics.DpiX;    
   
float yOffSet = m_myARPrinter.PhysicalOffsetY/m_myARPrinter.Graphics.DpiY;    
   
float adjustedWidth = (aPage.Width/3)-(xOffSet*2);    
   
float xPos = 0;    
   
int nCount = rpt.Document.Pages.Count;    
   m_myARPrinter.StartPage();    
   
for(int i=0; i < nCount; i++)    
   {        
       aPage = rpt.Document.Pages[i];        
       m_myARPrinter.Graphics.PageUnit = System.Drawing.GraphicsUnit.Pixel;        
       rec = System.Drawing.RectangleF.FromLTRB(xOffSet+xPos, yOffSet,(xOffSet+xPos)+            
           adjustedWidth,yOffSet+adjustedWidth);        
       xPos = adjustedWidth + xPos;        
       aPage.Draw(m_myARPrinter.Graphics,rec);          
   }    
   m_myARPrinter.EndPage();    
   m_myARPrinter.EndJob();
}
Visual BasicCopy Code
Private Sub arScale()
    m_myARPrinter.StartJob("Test Printer")
    Dim aPage As New DataDynamics.ActiveReports.Document.Page()
    Dim rec As New System.Drawing.RectangleF()
    Dim xOffSet As Single
    Dim yOffSet As Single
    Dim adjustedWidth As Single
    Dim xPos As Single
    xOffSet = m_myARPrinter.PhysicalOffsetX / m_myARPrinter.Graphics.DpiX
    yOffSet = m_myARPrinter.PhysicalOffsetY / m_myARPrinter.Graphics.DpiY
    adjustedWidth = (aPage.Width / 3) - (xOffSet / 2)
    xPos = 0
    Dim nCount As Integer
    nCount = rpt.Document.Pages.Count
    m_myARPrinter.StartPage()
    For i = 0 To nCount - 1
        aPage = rpt.Document.Pages(i)
        m_myARPrinter.Graphics.PageUnit = GraphicsUnit.Pixel
        rec = System.Drawing.RectangleF.FromLTRB(xOffSet + xPos, yOffSet, (xOffSet + xPos) + _
            adjustedWidth, yOffSet + adjustedWidth)
        xPos = adjustedWidth + xPos
        aPage.Draw(m_myARPrinter.Graphics, rec)
    Next
    m_myARPrinter.EndPage()
    m_myARPrinter.EndJob()
End Sub

Remarks

You can use this method to render the page content scaled to a rectangle.  This allows you to create thumbnail images of the pages or print multiple pages on a single sheet of paper.

See Also