Векторные символы печати в Silverlight 5 - PullRequest
1 голос
/ 26 января 2012

Я пытаюсь напечатать Canvas, содержащий элемент глифа, используя возможности векторной печати Silverlight 5.Все работает отлично, за исключением того, что глифы не печатаются.Поддерживаются ли глифы векторной печатью?Если так, что я делаю не так?Я пытаюсь напечатать следующий холст, который правильно отображается на экране:

        <Canvas x:Name="canvasToPrint" Margin="-96,-34,0,0" Grid.ColumnSpan="2" Background="AliceBlue">
        <Rectangle Fill="Blue" Width="39" Height="36"/>
        <Glyphs Name="a0" Fill="#FF000000" FontUri="36481AB7-37EB-642E-4A01-FB63CC6ED952.odttf" FontRenderingEmSize="11.04" StyleSimulations="None" OriginX="72.024" OriginY="82.464" UnicodeString="Hello, World!" Indices=",61.957;,50;,22.826;,22.826;,53.261;,25;,21.739;,89.13;,53.261;,34.783;,22.826;,52.174;">
        </Glyphs>
        <Button Height="25" Content="Print" Click="Button_Click"/>
    </Canvas>

со следующим кодом для кнопки печати:

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        PrintDocument doc = new PrintDocument();
        doc.BeginPrint += new EventHandler<BeginPrintEventArgs>(BeginPrinting);
        doc.PrintPage += new EventHandler<PrintPageEventArgs>(PrintNextPage);
        doc.Print("vector");
    }

    private void BeginPrinting(Object sender, BeginPrintEventArgs e)
    {

    }

    private void PrintNextPage(Object sender, PrintPageEventArgs e)
    {
        e.PageVisual = canvasToPrint;
        e.HasMorePages = false;
    }

Обратите внимание, что если все печатается правильнопереключатель doc.Print на doc.PrintBitmap.

...