2010-05-17 4 views
3

Я использовал следующий код, чтобы эмулировать возможности Safari, чтобы изменить масштаб веб-страницы:Печать Webview == Обрезанные содержание после изменения scaleUnitSquareToSize

-(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]; 

Мысли?

Спасибо! Вуди


Update: Я рассматривал этот вопрос с командой печати на WWDC, и оказывается, моя реализация не была идеальной реализации. ;) Они посоветовали мне не добавлять функциональность шкалы, изменяя webview. Вместо этого они предложили мне изменить параметры «Диалоговое окно печати», чтобы он добавлял параметры «Масштаб», позволяя настраивать его во время печати/создания PDF-файлов.

Корпус закрыт.

ответ

0

Резолюция отредактирована в оригинальном вопросе.

Смежные вопросы