Link to home
Start Free TrialLog in
Avatar of werD420
werD420

asked on

Losing Shapes when printing reports with pie chart class

Hey all I have a class thats putting out the following output for a report of users, but When I try to print it i lose the whole page!! I need for users to be able to print this could someone shine some light on the subject

<div id="employee">
<table border="1" bordercolor="#111111" id="table1" class="table1" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2">
<b>Employee Name:</b> Aebersold_Erin       
</td>
</tr>
<tr>
<td>
<b>Employee ID:</b> s008450
</td><td>
<b>Manager Name:</b> Management_OPM
</td>
</tr><tr>
<td colspan="2">
<xml:namespace prefix="v"/><object id="VMLRender" classid="CLSID:10072CEC-8CC1-11D1-986E-00A0C955B42E" width="0" height="0"></object><style> v\:* {behavior=url(#VMLRender)}</style><table cols="2" width="60%">
<tr>
<td>
<table>
<tr align="center" >
<td colspan="2"><b>Total Time Logged In: 180:54</b><br><br></td>
</tr>
<tr>
<td>
<div id="piechart" style="margin-top:0pt; margin-right:0pt;">
<v:group style="height=375pt; width=500pt" coordsize="4320,3240">
<v:shape style='position:relative; width:4320; height:3240' fillcolor=#C0C0C0 path="M 790 760 AE 790 760 707 707 5850000 23592960 X E">
<v:stroke on="False"/>
</v:shape>
<v:shape title="ACW" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=Red path="M 750 720 AE 750 720 707 707 5850000 5827461 X E"/>
<v:shape title="Admin" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=aqua path="M 750 720 AE 750 720 707 707 11677461 613417 X E"/>
<v:shape title="Available" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=silver path="M 750 720 AE 750 720 707 707 12290878 165151 X E"/>
<v:shape title="Break" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=blue path="M 750 720 AE 750 720 707 707 12456029 1863844 X E"/>
<v:shape title="Consult" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=yellow path="M 750 720 AE 750 720 707 707 14319873 23593 X E"/>
<v:shape title="Default" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=purple path="M 750 720 AE 750 720 707 707 14343466 70779 X E"/>
<v:shape title="Hold" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=green path="M 750 720 AE 750 720 707 707 14414245 684196 X E"/>
<v:shape title="Lunch" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=lime path="M 750 720 AE 750 720 707 707 15098441 849347 X E"/>
<v:shape title="Meeting/Training" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=maroon path="M 750 720 AE 750 720 707 707 15947788 23593 X E"/>
<v:shape title="On a Call" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=fuchsia path="M 750 720 AE 750 720 707 707 15971381 11796480 X E"/>
<v:shape title="Project" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=teal path="M 750 720 AE 750 720 707 707 27767861 1722286 X E"/>
<v:shape title="Technical" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=olive path="M 750 720 AE 750 720 707 707 29490147 0 X E"/>
</v:group></div>
</td>
<td>
<table bordercolor="white" border="1" cellpadding="0">
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:Red;'/></td><td>
<font>ACW</font>
</td>
<td align="right">
<font>44:15</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:aqua;'/></td><td>
<font>Admin</font>
</td>
<td align="right">
<font>4:58</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:silver;'/></td><td>
<font>Available</font>
</td>
<td align="right">
<font>1:17</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:blue;'/></td><td>
<font>Break</font>
</td>
<td align="right">
<font>14:06</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:yellow;'/></td><td>
<font>Consult</font>
</td>
<td align="right">
<font>0:09</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:purple;'/></td><td>
<font>Default</font>
</td>
<td align="right">
<font>0:54</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:green;'/></td><td>
<font>Hold</font>
</td>
<td align="right">
<font>5:21</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:lime;'/></td><td>
<font>Lunch</font>
</td>
<td align="right">
<font>6:37</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:maroon;'/></td><td>
<font>Meeting/Training</font>
</td>
<td align="right">
<font>0:1</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:fuchsia;'/></td><td>
<font>On a Call</font>
</td>
<td align="right">
<font>89:46</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:teal;'/></td><td>
<font>Project</font>
</td>
<td align="right">
<font>13:14</font>
</td>
</tr>
<tr>
<td><img src='../images/1pixel.gif' border=1 width='15' height='15' style='background:olive;'/></td><td>
<font>Technical</font>
</td>
<td align="right">
<font>0:07</font>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
 &nbsp;</td>
</tr>
</table>
</div>

This is confusing the heck out of me here is the class itself
<%

'this is to be included within a page to draw out pie graphs
      

'****************************************************************************************************************************      
'      
'
'      DrawPieGraph
'
'      Funnily enough DrawPieGraph does just that. It draws a Pie graph.
'      
'      Public Properties:            Please note that all properties are set defaults when the class is initialized.
'
'                        Diameter                              read/write int
'                              Diameter is not strictly the diameter of the circle increasing this exponatially increases the
'                              size of the circle.
'                                    
'                        Shadow                                    read/write boolean
'                              Draws a nice little shadow with your pie.
'
'                        Title                                    read/write string
'                              Set this to title your graph. You can also include html formating if desired. ie: <font size=5>
'
'                        ShowLegend                              read/write boolean
'                              Set this to false if you don't want to display the legend.
'
'                        LegendSize                              read/write int
'                              This sets the size of the images used for the legend. Personally I like 10.
'
'                        HTMLinnerTableDef                  read/write string
'                              Set this to change the display of the graph.
'
'                        HTMLouterTableDef                  read/write string
'                              Set this to change the display of the graph.
'
'                        ShowValues                              read/write boolean
'                              Set this to false if you don't want to display the values.
'
'                        FormatValuesAsCurrency            read/write boolean
'                              Set this to format the value as n.nn
'
'                        FontDef                                    read/write string
'                              Set this to change the display of the legend characters.
'                              
'      Public Methods:
'                        AddValue                        
'                                    Parameters
'                                                      value: the value which will be converted to a percentage of the overall total
'                                                                  to display a segment of the pie graph.
'                                                      label: a title/description of the value.
'                                                      color: the color to use for this segment. Must be in hex format ie:#00ffdd etc
'                                    
'                                    call AddValue for all the different segments that you want to display.
'
'                        DeleteAllAddedValues
'                                    Parameters      none
'
'                                    call DeleteAllAddedValues to delete all the values previously added. This is useful if you
'            5:14 PM 4/5/2006                        are drawing multiple pie graphs, so you can use the one object to do them all.
'
'                        Draw
'                                    Parameters      none
'
'                                    call Draw to draw out the graph.
'
'****************************************************************************************************************************      

class DrawPieGraph

      private pvDiameter
      private pvShadow
      private pvTitle
      private rsPieGraphValues
      private pvShowLegend
      private pvLegendSize
      private pvHTMLinnerTableDef
      private pvHTMLouterTableDef
      private pvShowValues
      private pvFormatValuesAsCurrency
      private pvFontDef
      
      '----------------------------------------------------------------------------------------------------------------------

      private function ReturnRecordset

            dim rs
            
            set rs = CreateObject("ADODB.Recordset")
            'value fld is currency data type (6)
            rs.Fields.append "value",6
            'label fld is varchar type (200), length is 50 chars long max
            rs.Fields.append "label",200,50
            'color fld is varchar type (200), length is 20 chars long, must be hex value
            rs.Fields.append "color",200,20
            'open the rs ready for adding records
            rs.Open
            
            set ReturnRecordset = rs
      end function

      '----------------------------------------------------------------------------------------------------------------------
      
      private function ReturnValueWithFontTags(value)
            ReturnValueWithFontTags = pvFontDef & value & "</font>"
      end function

      '----------------------------------------------------------------------------------------------------------------------
      
      private sub Class_Initialize

            set rsPieGraphValues = ReturnRecordset
                        
            pvDiameter = 100
      
            pvShadow = true

            pvTitle = "Time Report"
            
            pvShowLegend = true
            
            pvLegendSize = 20
            
            pvHTMLinnertableDef = "<table cols=""2"" border=1>"
            
            pvHTMLouterTableDef = "<table cellpadding=""12"" style=""border: 2px outset;"">"
            
            pvShowValues = true
            
            pvFormatValuesAsCurrency = false
            
            pvFontDef = "<font size=2>"
            
      end sub

      '----------------------------------------------------------------------------------------------------------------------
      
      'the diameter of the circle, integer
      public property let Diameter(value)
            pvDiameter=cint(value)
      end property
      '----------------------------------------------------------------------------------------------------------------------
      public property get Diameter
            Diameter=pvDiameter
      end property

      '----------------------------------------------------------------------------------------------------------------------
      'the shadow true/false
      public property let Shadow(value)
            pvShadow=cbool(value)
      end property
      '----------------------------------------------------------------------------------------------------------------------
      public property get Shadow
            Shadow=pvShadow
      end property

      '----------------------------------------------------------------------------------------------------------------------
      'the title - string value
      public property let Title(value)
            pvTitle=cstr(value)
      end property
      '----------------------------------------------------------------------------------------------------------------------
      public property get Title
            Title=pvTitle
      end property
      
      '----------------------------------------------------------------------------------------------------------------------
      'draw out the legend
      public property let ShowLegend(value)
            pvShowLegend=cbool(value)
      end property
      '----------------------------------------------------------------------------------------------------------------------
      public property get ShowLegend
            ShowLegend=pvShowLegend
      end property
      
      '----------------------------------------------------------------------------------------------------------------------
      'the legend size
      public property let LegendSize(value)
            pvLegendSize=cstr(value)
      end property
      '----------------------------------------------------------------------------------------------------------------------
      public property get LegendSize
            LegendSize=pvLegendSize
      end property
      
      '----------------------------------------------------------------------------------------------------------------------
      'table definition for inner table to allow customisation
      public property let HTMLinnerTableDef(value)
            pvHTMLinnertableDef=cstr(value)
      end property
      '----------------------------------------------------------------------------------------------------------------------
      public property get HTMLinnerTableDef
            HTMLinnerTableDef=pvHTMLinnertableDef
      end property
            
      '----------------------------------------------------------------------------------------------------------------------
      'table definition for inner table to allow customisation
      public property let HTMLouterTableDef(value)
            pvHTMLouterTableDef=cstr(value)
      end property
      '----------------------------------------------------------------------------------------------------------------------
      public property get HTMLouterTableDef
            HTMLouterTableDef=pvHTMLouterTableDef
      end property

      '----------------------------------------------------------------------------------------------------------------------
      'show the values or not
      public property let ShowValues(value)
            pvShowValues=cbool(value)
      end property
      '----------------------------------------------------------------------------------------------------------------------
      public property get ShowValues
            ShowValues=pvShowValues
      end property
      
      '----------------------------------------------------------------------------------------------------------------------
      'the size of the font for the value display
      public property let FontDef(value)
            pvFontDef=cstr(value)
      end property
      '----------------------------------------------------------------------------------------------------------------------
      public property get FontDef
            FontDef=pvFontDef
      end property
      

      '----------------------------------------------------------------------------------------------------------------------
      'format the values as currency or not
      public property let FormatValuesAsCurrency(value)
            pvFormatValuesAsCurrency=cbool(value)
      end property
      '----------------------------------------------------------------------------------------------------------------------
      public property get FormatValuesAsCurrency
            FormatValuesAsCurrency=pvFormatValuesAsCurrency
      end property
      

      '----------------------------------------------------------------------------------------------------------------------
      'add the values for the different segments of the pie chart
      public sub AddValue(value,label,color)
            with rsPieGraphValues
                  .AddNew
                  .Fields("value") = value
                  .Fields("label") = label
                  .Fields("color") = color
                  .Update  
            end with
      end sub
      '----------------------------------------------------------------------------------------------------------------------
      
      public sub DeleteAllAddedValues
            set rsPieGraphValues = nothing
            set rsPieGraphValues = ReturnRecordset
      end sub
      
      '----------------------------------------------------------------------------------------------------------------------
      'draw the actual graph
      public sub Draw
            
            Dim startPoint, endPoint, sumOfValues, percentage, i
            Dim strTitle, magicNumber
            dim Height, Width
      
            if rsPieGraphValues.EOF and rsPieGraphValues.BOF then exit sub
            
            magicNumber = 23592960      ' It's mystical, magical, kinda nutty even
            startPoint = 5850000      ' this setting is approximately 12:00 noon
            strTitle=pvTitle
            
            'height to width ratio is h:w = 0.75:1
            'we work out the height and width from the diameter given
            'the formula is diameter=100 therefore height=375pt; width=500pt
            Height = round(pvDiameter * 3.75,0)
            Width  = round(pvDiameter * 5,0)
            
            with response
            
            ' GET SUM OF VALUES ****************
            rsPieGraphValues.MoveFirst
            do while not rsPieGraphValues.EOF
                  sumOfValues = sumOfValues + rsPieGraphValues("value").Value
                  rsPieGraphValues.MoveNext
            loop
            if sumOfValues=0 then exit sub      
            
            ' VML tags ***********************************
            .Write "<xml:namespace prefix=""v""/>"
            .Write "<object id=""VMLRender"" classid=""CLSID:10072CEC-8CC1-11D1-986E-00A0C955B42E"" width=""0"" height=""0""></object>"
            .Write "<style> v\:* {behavior=url(#VMLRender)}</style>"
            ' ********************************************
            
            ' ********************************************
            ' Start Outer Table //
            .Write pvHTMLouterTableDef & vbCrLf
            .Write "<tr>" & vbCrLf
            .Write "<td>" & vbCrLf
            ' ********************************************
            
            ' ********************************************
            ' Start Inner Table //
            .Write pvHTMLinnertableDef & vbCrLf
            if pvTitle<>"" then
                  .Write "<tr align=""center"" >" & vbCrLf
                  ' Create Title //
                  if pvShowLegend then
                        .Write "<td colspan=""2""><b>" & strTitle & "</b><br><br></td>" & vbCrLf
                  else
                        .Write "<td><b>" & strTitle & "</b><br><br></td>" & vbCrLf
                  end if
                  .Write "</tr>" & vbCrLf
            end if
            ' ********************************************
            
            ' Start Building Pie //
            .Write "<tr>" & vbCrLf
            .Write "<td>" & vbCrLf
            'VML tags
            .Write "<div id=""piechart"" style=""margin-top:0pt; margin-right:0pt;"">" & vbCrLf
            .Write "<v:group style=""height=" & Height & "pt; width=" & Width & "pt"" coordsize=""4320,3240"">" & vbCrLf
            
            

            ' BUILD THE SHADOW ***************
            if pvShadow then
                  .Write("<v:shape style='position:relative; width:4320; height:3240' fillcolor=#C0C0C0 path=""M 790 760 AE 790 760 707 707 " & startPoint & " " & magicNumber & " X E"">" & vbCrLf)
                  .Write("<v:stroke on=""False""/>" & vbCrLf)
                  .Write("</v:shape>" & vbCrLf)
            end if

            ' BUILD THE PIE ********************
            rsPieGraphValues.MoveFirst
            do while not rsPieGraphValues.EOF
                  percentage = FormatNumber(rsPieGraphValues("value").Value / sumOfValues, 3)
                  endPoint = magicNumber * percentage
                  endPoint = FormatNumber(endPoint, 0)
                  endPoint = Fix(endPoint)
                  .Write("<v:shape title="""& rsPieGraphValues("label").Value &""" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=" & rsPieGraphValues("color").Value & " path=""M 750 720 AE 750 720 707 707 " & startPoint & " " & endPoint & " X E""/>" & vbCrLf)
                  startPoint = startPoint + endPoint
                  rsPieGraphValues.MoveNext
            loop

            ' VML tag
            .Write("</v:group></div>" & vbCrLf)
            .Write("</td>" & vbCrLf)
            ' End Build Pie ******************************


            ' ********************************************
            ' Start Legend Table //
            if pvShowLegend then
                  .Write("<td>" & vbCrLf)
                  .Write("<table bordercolor=""white"" border=""1"" cellpadding=""0"">" & vbCrLf)
      
                  ' Step 6)      BUILD THE LEGEND
                  rsPieGraphValues.MoveFirst
                  do while not rsPieGraphValues.EOF
                        .Write("<tr>" & vbCrLf)
                        ' Color //
                        .Write "<td><img src='../images/1pixel.gif' border=1 width='" & pvLegendSize & "' height='" & pvLegendSize & "' style='background:" & rsPieGraphValues("color").Value & ";'/></td>"
                        ' Category      //
                        .Write("<td>" & vbCrLf)
                        .Write ReturnValueWithFontTags(rsPieGraphValues("label").Value) & vbCrLf
                        .Write("</td>" & vbCrLf)
                        ' Value or Percent //
                        if pvShowValues then
                              .Write("<td align=""right"">" & vbCrLf)
                              if pvFormatValuesAsCurrency then
                                    .Write ReturnValueWithFontTags(formatnumber(rsPieGraphValues("value").Value,2,true,false,false)) & vbCrLf
                              else
                                    .Write Replace(ReturnValueWithFontTags(rsPieGraphValues("value").Value),".",":") & vbCrLf
                              end if
                              .Write("</td>" & vbCrLf)
                        end if
                        .Write("</tr>" & vbCrLf)
                        rsPieGraphValues.MoveNext
                  loop
                        
                  ' End Legend Table ***************************
                  .Write("</table>" & vbCrLf)
                  .Write("</td>" & vbCrLf)
            end if
      
            ' End Inner Table ****************************
            .Write("</tr>" & vbCrLf)
            .Write("</table>" & vbCrLf)
      
            ' End Outer Table ****************************
            .Write("</td>" & vbCrLf)
            .Write("</tr>" & vbCrlf)
            .Write("</table>" & vbCrLf)
      
            end with
            
      end sub
      '----------------------------------------------------------------------------------------------------------------------
      
end class      

%>
Thanks in advance
Avatar of kevp75
kevp75
Flag of United States of America image

te issue at hand may not be with your code.

Check your browsers printing settings.  By default IE will not print background images, you may need to check it off in the settings so that it does print the images
Avatar of werD420
werD420

ASKER

another problem im having that some of these strecth across the screen and some stop at there spot
here's part of the head of my document and how im calling the class
<style type="text/css">
#employee{
width:600px
}
.table1{
width:600px
}
#piechart{
margin-right:0px;
width:60%;
}
body
{
margin-left:100px;
margin-right:200px;
}

</style>

</head>

<body>
<!--#include file="DrawPieGraphtj.asp"-->
<%
Dim oGraph
  Dim names()
  Dim values()
  Dim piecolor(12)
piecolor(0)="Red"
piecolor(1)="aqua"
piecolor(2)="silver"
piecolor(3)="blue"
piecolor(4)="yellow"
piecolor(5)="purple"
piecolor(6)="green"
piecolor(7)="lime"
piecolor(8)="maroon"
piecolor(9)="fuchsia"
piecolor(10)="teal"
piecolor(11)="olive"
Set oGraph = New DrawPieGraph
b=1
c=1
for i=2 to Request.Form("NumofForms")
%>
<div id="employee">
<table border="1" bordercolor="#111111" id="table1" class="table1" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2">
<b>Employee Name:</b> <%=Trim(Request.Form("CSR"&i))%>       
</td>
</tr>
<tr>
<td>
<b>Employee ID:</b> <%=Trim(Request.Form("EmplID"&i))%>
</td><td>
<b>Manager Name:</b> <%=Trim(Request.Form("Manager"&i))%>
</td>
</tr><tr>
<td colspan="2">
<%
for a=1 to Request.Form("totalflds"&i)
If Request.Form("Form_"&i&"Lab_"&a)<>"" Then
'Response.Write("label"&i&"_"&a&"="&Request.Form("Form_"&i&"Lab_"&a)&"<br>")
Redim Preserve names(b)
names(b-1)=Request.Form("Form_"&i&"Lab_"&a)
b=b+1
End If
If Request.Form("Form_"&i&"Fld_"&a)<>"" Then
'Response.Write("value"&i&"_"&a&"="&Request.Form("Form_"&i&"Fld_"&a)&"<br>")
Redim Preserve values(c)
values(c-1)=Request.Form("Form_"&i&"Fld_"&a)
c=c+1
End If

next

 With oGraph
   
    .Diameter = 100
    .Shadow = true
    .ShowLegend = true
    .LegendSize = 15
    .ShowValues = true
    .FontDef = "<font>"
    .HTMLouterTableDef = "<table cols=""2"" width=""60%"">"
    .HTMLinnerTableDef = "<table>"
   
    .Title = "Total Time Logged In: " &Trim(Request.Form("totalval"&i))&""
End With

For j=0 to Ubound(names)-1
 colorval=piecolor(j)
oGraph.AddValue Replace(values(j),":","."), names(j), colorval
next
'Response.End    
oGraph.Draw
'Response.End
oGraph.DeleteAllAddedValues
c=1
b=1
Redim values(12)
Redim names(12)
%> &nbsp;</td>
</tr>
</table>
</div>
<hr width="75%" align="left">

<%

next



  Set oGraph = Nothing
 
%>

</body>


Thanks I really appreciate any help i can get
hmm....try to use a pixel width here instead of percentage:.HTMLouterTableDef = "<table cols=""2"" width=""60%"">"

Avatar of werD420

ASKER

Thanks for the input but Changing to print background images had no effect, Print preview wont even show any of the text from the screen on multiple pcs. This is a little wierd, I cant send it to an acrobat distiller or anything :( Any advice on how i can get this to print.

Also I tried changing to 600px but its still reacting the same way its like it is adding all kinds of padding next to the pie charts but the ones that its doing it on are picked randomly, and there's no viewable difference in the source

Thanks again for any help
hmm.
Can you send me a link of the example?
Avatar of werD420

ASKER

yes i will move it to an externally viewable web server
Avatar of werD420

ASKER


this one the last four or five have extra padding
http://12.202.16.114/pie/default.asp?report=opmviewrpt.xls
but on some others it is a little more random
http://12.202.16.114/pie/default.asp?report=eeeviewrpt.xls

you can see what the default page has on it by changing it to default2.asp


Thanks again
on that first link.  I noticed Rushin_Stephanie(?) is expanded beyond the page.  I did a 'View Source' and found this:
<div id="piechart" style="margin-top:0pt; margin-right:0pt;">
<v:group style="height=375pt; width=500pt" coordsize="4320,3240">
<v:shape style='position:relative; width:4320; height:3240' fillcolor=#C0C0C0 path="M 790 760 AE 790 760 707 707 5850000 23592960 X E">
<v:stroke on="False"/>
</v:shape>
<v:shape title="ACW" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=Red path="M 750 720 AE 750 720 707 707 5850000 1627914 X E"/>
<v:shape title="Admin" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=aqua path="M 750 720 AE 750 720 707 707 7477914 141558 X E"/>
<v:shape title="Available" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=silver path="M 750 720 AE 750 720 707 707 7619472 117965 X E"/>
<v:shape title="Break" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=blue path="M 750 720 AE 750 720 707 707 7737437 1604321 X E"/>
<v:shape title="Consult" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=yellow path="M 750 720 AE 750 720 707 707 9341758 47186 X E"/>
<v:shape title="Default" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=purple path="M 750 720 AE 750 720 707 707 9388944 23593 X E"/>
<v:shape title="Hold" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=green path="M 750 720 AE 750 720 707 707 9412537 802161 X E"/>
<v:shape title="Lunch" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=lime path="M 750 720 AE 750 720 707 707 10214698 1368392 X E"/>
<v:shape title="Meeting/Training" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=maroon path="M 750 720 AE 750 720 707 707 11583090 188744 X E"/>
<v:shape title="On a Call" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=fuchsia path="M 750 720 AE 750 720 707 707 11771834 7596933 X E"/>
<v:shape title="Project" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=teal path="M 750 720 AE 750 720 707 707 19368767 10050601 X E"/>
<v:shape title="Records Merge Activity" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=olive path="M 750 720 AE 750 720 707 707 29419368 0 X E"/>
<v:shape title="Technical" style='width:4320; height:3240' strokeweight=0.5pt fillcolor= path="M 750 720 AE 750 720 707 707 29419368 0 X E"/>
</v:group></div>

see the width:4320;  I'm wondering if something in your spreadsheet is making it do this.  Are there external settings to the component you are using for this?
Avatar of werD420

ASKER

Thanks for the response, This number 4320 is the same on the ones that are the correct width on the screen it comes from this part of the class

 .Write "<v:group style=""height=" & Height & "pt; width=" & Width & "pt"" coordsize=""4320,3240"">" & vbCrLf
         
         

          ' BUILD THE SHADOW ***************
          if pvShadow then
               .Write("<v:shape style='position:relative; width:4320; height:3240' fillcolor=#C0C0C0 path=""M 790 760 AE 790 760 707 707 " & startPoint & " " & magicNumber & " X E"">" & vbCrLf)

If i change it to a smaller size like 2000 it is only half the size but the table and padding issue stays the same

Iam much more concerned however as to why i cannot print this page.

Thanks again for your continued assistance
I actually had a problem like this before with VML. We displayed VML shapes on a webpage, and it looked fine, but when people started printing it, it just disappeared. Later on I created new pages from scratch and it seemed to print fine. I never really figured out what the cause was though. Have you checked your HTML tag?

<HTML xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns="http://www.w3.org/TR/REC-html40">

and your CSS

  <!--[if !mso]>
  <style>
      v\:*         { behavior: url(#default#VML) }
      o\:*         { behavior: url(#default#VML) }
      .shape       { behavior: url(#default#VML) }
  </style>
  <![endif]-->

The only funny thing I noticed with VML is that if you are printing VML using (response.write) ASP code, it wouldn't display sometimes until you explicitly wrote VML outside the ASP. (Then again, I was working with Frontpage so there may have been an issue there). Does your code display correctly in the browser (I can't see the page from where I work) ?

Try creating a simple page with 1 shape on it and see if it prints.

btw I copied the VML portion of your code and pasted it on a new page and it displays and prints fine... did this work for you as well?

(I'm assuming your code is correct and it's just the VML is what is being quirky)

<HTML xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns="http://www.w3.org/TR/REC-html40">
<head>
  <!--[if !mso]>
  <style>
      v\:*         { behavior: url(#default#VML) }
      o\:*         { behavior: url(#default#VML) }
      .shape       { behavior: url(#default#VML) }
  </style>
  <![endif]-->

</head>
<body>

<div id="piechart" style="margin-top:0pt; margin-right:0pt;">
<v:group style="height=375pt; width=500pt" coordsize="4320,3240">
<v:shape style='position:relative; width:4320; height:3240' fillcolor=#C0C0C0 path="M 790 760 AE 790 760 707 707 5850000 23592960 X E">
<v:stroke on="False"/>
</v:shape>
<v:shape title="ACW" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=Red path="M 750 720 AE 750 720 707 707 5850000 5827461 X E"/>
<v:shape title="Admin" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=aqua path="M 750 720 AE 750 720 707 707 11677461 613417 X E"/>
<v:shape title="Available" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=silver path="M 750 720 AE 750 720 707 707 12290878 165151 X E"/>
<v:shape title="Break" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=blue path="M 750 720 AE 750 720 707 707 12456029 1863844 X E"/>
<v:shape title="Consult" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=yellow path="M 750 720 AE 750 720 707 707 14319873 23593 X E"/>
<v:shape title="Default" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=purple path="M 750 720 AE 750 720 707 707 14343466 70779 X E"/>
<v:shape title="Hold" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=green path="M 750 720 AE 750 720 707 707 14414245 684196 X E"/>
<v:shape title="Lunch" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=lime path="M 750 720 AE 750 720 707 707 15098441 849347 X E"/>
<v:shape title="Meeting/Training" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=maroon path="M 750 720 AE 750 720 707 707 15947788 23593 X E"/>
<v:shape title="On a Call" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=fuchsia path="M 750 720 AE 750 720 707 707 15971381 11796480 X E"/>
<v:shape title="Project" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=teal path="M 750 720 AE 750 720 707 707 27767861 1722286 X E"/>
<v:shape title="Technical" style='width:4320; height:3240' strokeweight=0.5pt fillcolor=olive path="M 750 720 AE 750 720 707 707 29490147 0 X E"/>
</v:group></div>
</body>
</html>
Avatar of werD420

ASKER

Thanks for the response.. Sorry for the delay. I have adjusted the class above and the output page to show the proper , that this would work? namespaces and css attributes but im still having the same issue. Do you think that if i wrote this all to a file then used it.If i use file save as I still dont have the ability to print, so im not sure if this issue is b/c of the response.write statements or the code in general.

Thanks again for your help
Ok, playing with your results page again...

When I copied and pasted your code on my page, I couldn't see the VML in print preview. But when I started copying just the body portion and placing it in a new page (using Frontpage), I could see the VML in the print preview. So I'm pretty sure that your response.writes and VML code are correct, but that you haven't defined the settings/environment correctly. Look below and see if any changes to the beginning part of the code work:
--------------------------------------------------------------------

<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">


<title>New Page 2</title>
<!--[if !mso]>
<style>
v\:*         { behavior: url(#default#VML) }
o\:*         { behavior: url(#default#VML) }
.shape       { behavior: url(#default#VML) }
</style>
<![endif]--><!--[if gte mso 9]>
<xml><o:shapedefaults v:ext="edit" spidmax="1027"/>
</xml><![endif]-->
</head>
Avatar of werD420

ASKER

Thanks I appreciate your response,

Ive adjusted the head of my document as requested:
---------
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">


<!--[if !mso]>
<style>
v\:*         { behavior: url(#default#VML) }
o\:*         { behavior: url(#default#VML) }
.shape       { behavior: url(#default#VML) }
</style>
<![endif]--><!--[if gte mso 9]>
<xml><o:shapedefaults v:ext="edit" spidmax="1027"/>
</xml><![endif]-->

<style type="text/css">
#employee{
width:600px
}
.table1{
width:600px
}
#piechart{
margin-right:0px;
width:60%;
}
body
{
margin-left:100px;
margin-right:200px;
}

</style>

</head>

<body>
---


Im still receiving this issue unfortunately, I would try ad rebuild it, but im sure if i end up redoing it ill have the same results :(  Do you know of anything else that could be causing this?
ASKER CERTIFIED SOLUTION
Avatar of ThinkPaper
ThinkPaper
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
ah forget my last comment. I forgot that you already WERE trying to export it to xls. ~__~
Feh my browser at work is preventing me from seeing your xls page. I guess I'll have to try at home.
Not sure if thise helps.. but who knows? (the vml checkbox part in Excel)

From:  http://office.microsoft.com/en-ca/assistance/HP052561811033.aspx
>>I see a blank image where the graphic should be on my Web page.

There are several reasons why graphics may not be appearing correctly on your Web page.

Adjust your browser settings    Because different browsers support different versions of HTML and HTML extensions (HTML extensions: A feature or setting that is an extension to the formal HTML specification. Extensions may not be supported by all Web browsers, but they may be used widely by Web authors. An example of an extension is marquee scrolling text.), text and graphics may look different in one computer's browser than they do in another. In some cases, graphic images appear as blanks because the browser is set to not display graphics. You can sometimes make missing graphics appear in your browser by adjusting the option to display graphics.

Test your page with different browsers    When you create Web pages, consider testing them in different Web browsers— some of which are available for downloading from the Web— and with different monitor settings, to make sure all of your page elements appear correctly.

Graphics might be turned off in your Web browser    To make sure that graphics are being downloaded, do the following:

Open your Web page in Microsoft Excel.
On the Tools menu, click Options, and then click the General tab.
Click Web Options, and then click the Browsers tab.
Clear the Rely on VML for displaying graphics in browsers check box.    <------------------

You might have used the wrong picture format    If you link a graphic to a Web page, and the graphic format isn't supported by your browser, your graphics won't show. Make sure that the linked picture is in a graphic format that is compatible with your browser. The graphic formats JPG (JPEG: A graphics file format (.jpg extension in Microsoft Windows) supported by many Web browsers that was developed for compressing and storing photographic images. It's best used for graphics with many colors, such as scanned photos.) and GIF (GIF: A graphics file format (.gif extension in Windows) used to display indexed-color graphics on the World Wide Web. It supports up to 256 colors and uses lossless compression, meaning that no image data is lost when the file is compressed.) are compatible with most browsers.

You might have changed a linked picture    If you make a visual change to a linked picture, such as adding a shadow, border or outline, fill, or contrast or brightness adjustment, then Excel will create another picture with those changes for displaying in a Web page. When you view the Web page in Microsoft Internet Explorer 4 or earlier, the picture will appear with the changes but the link to the original picture will be broken. To fix the link, select the picture and click Reset Picture  on the Picture toolbar.
Apparently a few other people have had this problem:

http://groups.google.com/groups?hl=en&q=not+printing+vml

Possible stuff to check:

1. check verson of IE , or check other browsers to see if it works (firefox, mozilla, netscape - although I've never attempted looking at VML in those browsers)

2. The declarations of your VML:

<xml:namespace prefix="v"/>
<object id="VMLRender" classid="CLSID:10072CEC-8CC1-11D1-
986E-00A0C955B42E" width="0" height="0"></object>
<style> v\:* {behavior=url(#VMLRender)}</style>

OR

<HTML xmlns:v="urn:schemas-microsoft-com:vml">
<style> v\:* {behavior:url(#default#VML);}
</style>

3. try printing to a different printer/computer

4. does your printer print VML when you're viewing somene else's webpage that contains VML in it? (check Microsoft's VML page and see if you can print the VML)

Other than that, I can't figure out what else can be the cause of it..