Часть моего приложения включает в себя печать PDF-файлов, которые загружаются в UIWebView.Обновление iOS7 - печать в формате PDF, загруженная в UIWebView yeilds, масштабируется в PDF до 50% от размера страницы письма
Код, который я использую для печати этих PDF-файлов, загруженных в мой UIWebView, отлично работает для iOS версии 6. С момента обновления iOS7 мои страницы по-прежнему печатаются с использованием того же кода в моем приложении, однако в списке перечислены несколько проблем:
С каждой печатью печатается дополнительная пустая страница. Если мой документ PDF составляет 2 страницы, принтер распечатает 2 страницы с содержимым PDF и дополнительную 3-ю страницу, которая будет пустой. Это меня не очень беспокоит, поскольку ни одна чернила или бумага не теряются впустую, однако для решения, которое я пытаюсь реализовать, это немного неряшливо.
Основная проблема, с которой я столкнулся, заключается в том, что после обновления iOS7 тот же самый код, который отлично работает на iOS 6 iPad/iPhone, теперь сломан. Код позволяет мне распечатать полное содержимое PDF-файлов, однако содержимое уменьшено до 50% от общей площади бумаги (что в моем случае является бумагой с буквой портрета).
Несмотря на то, что, основываясь на веб-сайте развития Apple, я не смог получить ответа от участников форума.
Вот код, я использую:
-(void) printWebView:(UIWebView *)webView {
UIPrintInfo *pi = [UIPrintInfo printInfo];
pi.outputType = UIPrintInfoOutputGeneral;
pi.jobName = webView.request.URL.absoluteString;
pi.orientation = UIPrintInfoOrientationPortrait;
UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController];
pic.printInfo = pi;
pic.showsPageRange= NO;
UIPrintPageRenderer *renderer = [[UIPrintPageRenderer alloc] init];
webView.viewPrintFormatter.printPageRenderer.headerHeight = 30.0f;
webView.viewPrintFormatter.printPageRenderer.footerHeight = 30.0f;
webView.viewPrintFormatter.contentInsets = UIEdgeInsetsMake(0.0f, 30.0f, 0.0f, 30.0f);
webView.viewPrintFormatter.startPage = 0;
[renderer addPrintFormatter:webView.viewPrintFormatter startingAtPageAtIndex:0];
pic.printPageRenderer = renderer;
[pic presentAnimated:YES completionHandler:^(UIPrintInteractionController *pic2, BOOL completed, NSError *error) {
// indicate done or error
}];
Кто-нибудь еще сталкивался с этим вопросом, и есть решение, или это законный вопрос, что компания Apple должна исправить в своем следующем обновлении?
Кроме того, хотя мне кажется маловероятным, может возникнуть проблема с текущей версией (1 версия старой) XCode?