Hi,while you are waiting for Esri you can use the Telerik controls.I use the Telerik controls to print ArcGIS maps.I convert them to an Image using WriteableBitmap and then print them with the PdfFormatProvider.here is a code example: // convert to image because of problems with graphicslayers not showing up
// correctly (in lefttop corner instead on the correct location of the map) when writing to pdf
WriteableBitmap wb = new WriteableBitmap(this.yourUIElement, new ScaleTransform() { ScaleX = 1, ScaleY = 1 });
Image image = new Image();
image.Height = 64;
image.Margin = new Thickness(10);
image.Source = wb;
// make raddocument
Section section = new Section();
Paragraph paragraph = new Paragraph();
InlineUIContainer container = new InlineUIContainer();
container.UiElement = image;
container.Width = 750;
container.Height = 1000;
paragraph.Inlines.Add(container);
section.Blocks.Add(paragraph);
RadDocument document = new RadDocument();
document.DefaultPageLayoutSettings = new PageLayoutSettings(PaperTypes.Letter);
document.PageViewMargin = new SizeF(0.0f, 0.0f);
document.ParagraphDefaultSpacingBefore = 0;
document.ParagraphDefaultSpacingAfter = 0;
// use padding to center, perhaps find a more appropriate way to do this in the future.
document.SectionDefaultPageMargin = new Telerik.Windows.Documents.Layout.Padding(32, 25, 0, 0);
document.Children.Add(section);
PdfFormatProvider provider = new PdfFormatProvider();
string extension = "pdf";
SaveFileDialog dialog = new SaveFileDialog()
{
DefaultExt = extension,
Filter = String.Format("{1} file (*.{0})|*.{0}|All files (*.*)|*.*", extension, "PDF"),
FilterIndex = 1
};
bool? dialogResult = dialog.ShowDialog();
if (dialogResult == true)
{
using (Stream output = dialog.OpenFile())
{
provider.Export(document, output);
provider.ExportSettings = new PdfExportSettings() { InlineUIContainersExportMode = 0 };
}
}