Silverlight 5 のベクター印刷機能を使用して、グリフ要素を含む Canvas を印刷しようとしています。グリフが印刷されないことを除いて、すべて正常に動作します。グリフはベクター印刷でサポートされていますか? もしそうなら、私は何を間違っていますか?画面に正しく表示される次のキャンバスを印刷しようとしています。
<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
。