Hi Riyaz,
Thanks for your code.
Just like the code shows, our pdfGeoCanvas draw the 2nd time for PDF, because the features for PDF and GDI are not totally the same, we can only make sure most of the map looks the same but cannot make sure everything is the same.
So I think you can try the other solution about it:
System.Drawing.Bitmap screenShot = winformsMap1.GetBitmap(winformsMap1.Width, winformsMap1.Height);
GeoImage img = new GeoImage(screenShot);
and
pdfGeoCanvas.BeginDrawing(page, ExtentHelper.GetDrawingExtent(winformsMap1.CurrentExtent, (float)(page.Width.Point), (float)(page.Height.Point)), winformsMap1.MapUnit);
pdfGeoCanvas.DrawWorldImage(img, winformsMap1.CurrentExtent.GetCenterPoint().X , winformsMap1.CurrentExtent.GetCenterPoint().Y, (float)(page.Width.Point), (float)(page.Height.Point), DrawingLevel.LabelLevel, 0, 0, 0);
pdfGeoCanvas.EndDrawing();
It will get the image and draw the image on PDF instead of draw the shapes again.
Our developer will keep research about the PDF, if we find solution to make the label position render at the same location when set best place, we will enhancement it.
Regards,
Ethan