我有一个打印到大约 1.5 页的 silverlight 控件。我想尝试缩放以适合单个页面。
我正在使用 new Printing API in Silverlight 4 .
我修改了 docToPrint.PrintPage
处理程序如下:
var renderHeight = item.RenderSize.Height;
var printableHeight = args.PrintableArea.Height;
var scale = printableHeight / renderHeight;
item.RenderTransform = new ScaleTransform()
{
ScaleX = Math.Min(1, scale), // dont zoom in
ScaleY = Math.Min(1, scale)
};
item.UpdateLayout();
args.PageVisual = item;
这只是计算适合页面所需的变换。事实上,屏幕上呈现的控件会相应缩小 - 但它始终会打印出完整尺寸。
我认识 Shawn Wildermuth blogged about printing - 一些评论至少表明转换不适用于打印。
有解决办法吗?坦率地说,我实际上并不需要打印支持 - 但只是将其添加为一项额外功能 - 所以如果我无法解决这个问题,我只需要在任意点拆分页面。
最佳答案
在我的博客上查看解决方案: Silverlight printing: fit to page.
关于silverlight - 是否可以使用 Silverlight 4 Print API 调整页面大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1985130/