Форум программистов, компьютерный форум CyberForum.ru

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
xmarat
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 7
#1

Вывести только часть PDF файла - Программирование iOS/iPhone

06.03.2013, 02:24. Просмотров 755. Ответов 5
Метки нет (Все метки)

В данный момент я загружаю PDF файл в UIWebView и в нем показывается файл целиком, но мне нужно показать только его часть, например с помошью CGRectMake(100, 100, 200, 200). Как это можно сделать? Заранее благодарен...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2013, 02:24     Вывести только часть PDF файла
Посмотрите здесь:

Аккуратно разделить страницы при генерации pdf документа Objective-C
При показе клавиатуры часть таблицы остается под ней
Организационная часть, при добавлении в AppStore
Часть изображения
Переопределение метода только в iOS >= 7.0 Objective-C
Перестала отображаться часть PNG файлов
Отправка данных из аппы в формате pdf
Swift Визуальная часть в Xcode with Swift
Objective-C Pdf reader

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
06.03.2013, 02:39     Вывести только часть PDF файла #2
UIWebView критично? А то в доке есть забавный документ под названием "PDF Document Creation, Viewing, and Transforming". Он может помочь.
xmarat
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 7
06.03.2013, 03:49  [ТС]     Вывести только часть PDF файла #3
UIWebView не критично, последовал Вашему совету, делаю так:
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
        NSURL* url = [NSURL fileURLWithPath:@"123.pdf"];
        
        CGRect rect = CGRectMake(100, 100, 200, 200);
 
        CGPDFDocumentRef pdf = CGPDFDocumentCreateWithURL((__bridge CFURLRef)url);
        CGPDFPageRef page1 = CGPDFDocumentGetPage(pdf, 1);
        
        UIGraphicsBeginImageContext(rect.size);
        
        CGContextRef context = UIGraphicsGetCurrentContext();
        
        CGContextSetRGBFillColor(context, 1.0,1.0,1.0,1.0);
        CGContextFillRect(context, CGRectMake(0, 0, 200, 200));
        
        CGContextSaveGState(context);
        
        CGContextTranslateCTM(context, 0.0, rect.size.height);
        CGContextScaleCTM(context, 1.0, -1.0);
        CGContextConcatCTM(context, CGPDFPageGetDrawingTransform(page1, kCGPDFMediaBox, rect, 0, true));
        
        CGContextDrawPDFPage(context, page1);
        CGContextRestoreGState(context);
        
        UIImage *thm = UIGraphicsGetImageFromCurrentImageContext();
        
        UIGraphicsEndImageContext();
но получаю белый квадрат, хотя в PDF файле весь фон в цвете.
Vorona
Peace 2 all shining faces
666 / 528 / 44
Регистрация: 05.03.2010
Сообщений: 1,271
06.03.2013, 04:35     Вывести только часть PDF файла #4
Прошу прощения - не по теме чуток.
Раз тут зашла речь про обработку пдф файлов, вы не в курсе, как можно разрезать пдф документ, не испортив текст?

У меня трабл был - генерировал пдф из динамического html контента в одну длинную страницу, а потом как дело дошло до разбить его на А4 странички, так лист разрезался на куски нужного размера, не обращая внимания на текст. получалось что-то вроде Hello World!

Так до сих пор и не нашел решение
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
07.03.2013, 14:15     Вывести только часть PDF файла #5
Сам pdf не создавал. Только читал. Если скинете кусок исходников в личку, можно посидеть, попробовать, подумать. Самое примитивное решение, которое вижу - при набивке строк проверять сколько они места занимают. И в нужное время новую страницу начинать. Решение не сильно изящное, но по крайней мере на создании книжных страниц на основе UIView работает.
xmarat
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 7
10.03.2013, 17:00  [ТС]     Вывести только часть PDF файла #6
Спасибо mobidevelop. CGPDFPageGetDrawingTransform это то что нужно. Сделал по примеру на этой странице, все работает.
Yandex
Объявления
10.03.2013, 17:00     Вывести только часть PDF файла
Ответ Создать тему
Опции темы

Текущее время: 13:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru