更改scaleUnitSquareToSize后打印Webview ==剪切的内容

时间:2010-05-17 21:05:14

标签: cocoa printing webkit

我使用下面的代码来模拟Safari改变网页规模的能力:

-(IBAction)changeScale:(NSControl *)sender {
    [[[[wv mainFrame] frameView] documentView] setBounds:[self originalBounds]];
    [[[[wv mainFrame] frameView] documentView] scaleUnitSquareToSize:NSMakeSize([sender floatValue], [sender floatValue])];
    [[[[wv mainFrame] frameView] documentView] setNeedsDisplay:YES];
 }

我遇到的问题是,当我在缩小比例后进行打印时,虽然内容较小,但它不是重新分页:最初4页长的文档仍然是4页,但页面只是部分填满。我的期望是页面会更窄,但也会使用纸张的整个高度。

要打印,我正在使用它:

[[[[wv mainFrame] frameView] documentView] print:sender];

思想?

谢谢! 木本


更新: 我在WWDC的Print团队解决了这个问题,事实证明我的实现不是理想的实现。 ;)他们建议我不要通过修改webview来添加缩放功能。相反,他们建议我修改“打印对话框”选项,以便添加“缩放”参数,允许在打印/ PDF制作期间对其进行调整。

案件结案。

1 个答案:

答案 0 :(得分:0)

解决方案已编辑到原始问题中。