2012-11-02 56 views
2

我尝试动态创建并以静默方式打印文档。 问题是我需要缩放文档以适合页面。我尝试使用PrintTicket.PageScalingFactor,但它不起作用:当打印机打印文档时,PageScalingFactor = 50和PageScalingFactor = 250之间没有区别。 PageScalingFactor不影响任何内容。 下面是一个代码片段: 创建的打印标签:为什么PageScalingFactor不会影响任何内容?

PrintTicket tkt = new PrintTicket(); 

tkt.Collation = Collation.Uncollated; 
tkt.CopyCount = 1; 
tkt.DeviceFontSubstitution = DeviceFontSubstitution.On; 
tkt.Duplexing = Duplexing.OneSided; 
tkt.InputBin = InputBin.AutoSelect; 
tkt.OutputColor = OutputColor.Monochrome; 
tkt.PageMediaSize = new PageMediaSize(PageMediaSizeName.ISOA9); 
tkt.PageMediaType = PageMediaType.Unknown; 
tkt.PageOrder = PageOrder.Standard; 
tkt.PageOrientation = PageOrientation.Portrait; 
tkt.PageResolution = new PageResolution(PageQualitativeResolution.Draft); 
tkt.PageScalingFactor = 40; 
tkt.PagesPerSheet = 1; 
tkt.TrueTypeFontMode = TrueTypeFontMode.DownloadAsOutlineFont; 


StackPanel myPanel = new StackPanel(); 
myPanel.Margin = new Thickness(15); 

设置打印队列和填充数据的StackPanel不要紧 印刷:

myPanel.Measure(new Size(dialog.PrintableAreaWidth, 
         dialog.PrintableAreaHeight)); 
myPanel.Arrange(new Rect(new Point(0, 0), 
       myPanel.DesiredSize)); 

dial2.PrintVisual(myPanel, "A Great Image."); 

我设置PageScalingFactor 40,100,250 - 输出一样。 我该怎么办?

回答

0

PageScaling功能是否设置为CustomSquare?

+0

设置PageScaleFactor本身将PageScaling功能设置为CustomSquare(MSDN:“PrintTicket XML文档中的PageScaling功能设置为CustomSquare”),是不是? – Portsel

相关问题