使用DrawingContext创建不同大小的XpsDocuments

时间:2014-10-02 11:41:34

标签: c# .net wpf

我需要创建不同的报告,这些报告将打印在不同的页面尺寸(A4,A5等)上。

过去我们使用Winforms(e.graphics.DrawString等)来构建页面。 我们现在迁移到WPF并使用XpsDocument。我是WPF的新手,我在不同的印刷和绘图课上有点迷失。

如何创建A4页面,并在x = 100mm,y = 150mm处绘制一个字符串? 如果有可能我想使用DrawingContext类,因为它似乎类似于winforms GDI +绘制页面内容的风格

DrawingVisual visual = new DrawingVisual();
using (DrawingContext dc = visual.RenderOpen())
{
      dc.DrawText(new FormattedText("TestString 01", CultureInfo.CurrentCulture
            , FlowDirection.LeftToRight, new Typeface("Arial"), 10, Brushes.Black)
            , new Point(100, 150));
}

我正在使用以下代码创建XPS文档,但我不知道如何设置页面大小,并在XPS文档上使用DrawingContext ...

using (var doc = new XpsDocument(fileName, FileAccess.Write))
{
    var writer = XpsDocument.CreateXpsDocumentWriter(doc);
    writer.Write(GetRandomA4Page());
}

0 个答案:

没有答案