GoView Printing problems


#1

The GoView.Print method only prints the document objects by default. How to print what is in the view as seen. For example, if there are 3 GoText objects spaced at equal intervals (in the view), when printed all of them get jumbled up.


#2

Could you describe how you got things “jumbled up”?
This is the definition of PrintView. You can override this to call PaintObjects with a second argument of true, if you want to print view objects such as selection handles.
protected virtual void PrintView(Graphics g, RectangleF clipRect) {
// by default does not print the document paper color or view background color
// paint any user-defined background
PaintBackgroundDecoration(g, clipRect);
g.SmoothingMode = this.SmoothingMode;
g.TextRenderingHint = this.TextRenderingHint;
g.InterpolationMode = this.InterpolationMode;
// paint all the document objects, but not any view objects
PaintObjects(true, false, g, clipRect);
}


#3

Thanks for the reply. But it did not fix the problem. I face this at several places. For example, if the 3 GoText objects are equally spaced at 10 units aparts (X- coordinates) and all have the same Y-Coordinate and have font height of 7, like for instance
M1 M2 M3
then when printed they appear as
M1M2M3
In some cases, certain characters overlap with each other. I tried setting true for painting view objects in “PaintObjects” method as well.


#4

I can’t reproduce any problem. Here’s what I tried:
public void MakeVariousTexts() {
float fsize = 6;
float ypos = 20;
for (int i = 0; i < 4; i++) {
GoText t = new GoText();
t.Text = “M1”;
t.FontSize = fsize+i;
t.Position = new PointF(20, ypos);
myView.Document.Add(t);
t = new GoText();
t.Text = “M2”;
t.FontSize = fsize+i;
t.Position = new PointF(30, ypos);
myView.Document.Add(t);
t = new GoText();
t.Text = “M3”;
t.FontSize = fsize+i;
t.Position = new PointF(40, ypos);
myView.Document.Add(t);
ypos += 30;
}
}
The results look about the same both on the screen as when printed. The printed version of course is a lot clearer, due to the higher resolution. I find that there is overlap when the FontSize is 7 or larger. And even at a FontSize of 6, the “M2” starts to overlap with the “M3”.