var fixedDocument = new FixedDocument();
fixedDocument.DocumentPaginator.PageSize = PrinterPaperModel.GetPrintAreaSize(PrinterPaperModel.PrintableArea[paperType]);
var page = new FixedPage
{
Background = Brushes.Transparent,
Margin = new Thickness(0),
Width = fixedDocument.DocumentPaginator.PageSize.Width,
Height = fixedDocument.DocumentPaginator.PageSize.Height
};
var viewbox = new Viewbox
{
Stretch = Stretch.Uniform,
VerticalAlignment = VerticalAlignment.Top,
HorizontalAlignment = HorizontalAlignment.Left,
Width = fixedDocument.DocumentPaginator.PageSize.Width,
Height = fixedDocument.DocumentPaginator.PageSize.Height,
Child = frameworkElement,
};
page.Children.Add(viewbox);
var pageContent = new PageContent();
((IAddChild)pageContent).AddChild(page);
fixedDocument.Pages.Add(pageContent);