我在Windows 10 x64和某些PCL驅動程序上打印時遇到問題。當我打印到A4尺寸時,它從底部切下約2釐米,而不是打印高度爲29.7釐米,它只打印約27.4釐米。 請注意,相同的代碼在Windows 7 x64操作系統上正常工作。 我使用printDialog.PrintDocument()方法傳遞一個自定義分頁程序類來打印。 我注意到有趣的事情是,如果我只是解析靜態Xaml字符串,如下所示使用它可以正常工作,但如果我嘗試使用代碼隱藏在wrapPanel中添加FrameworkElements,它將無法在全尺寸上打印。WPF在Windows 10 x64和PCL驅動程序上打印
> const string pageTemplate = @"<Border xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' xmlns:mc='http://schemas.openxmlformats.org/markup-compatibility/2006' xmlns:d='http://schemas.microsoft.com/expression/blend/2008' mc:Ignorable='d' BorderThickness='0' Name='page' Margin='0' Width='200' Height='200'> <Grid Name='grid'> <WrapPanel Name='wrapper' Orientation='Horizontal' /> </Grid> </Border>"; > var page = System.Windows.Markup.XamlReader.Parse(pageTemplate) as > Border;
這是A4和美國標準8x11之間的區別「所以你可能剛剛選擇了錯誤的紙張大小 –
感謝評論漢斯我通過調試檢查了PrintTicket的PageMediaSize選擇是ISOA4我也試過把硬編碼的值也在那裏,但仍然輸出是錯誤的我不知道這些打印機驅動程序是如何轉移到美國信紙尺寸而不是A4 我檢查了它們的屬性以及它們的默認設置也是A4。 – Abdullah