В настоящее время я создаю и сохраняю PDF-файл UIView. Он отлично работает, но теперь я пытаюсь создать PDF из текстовых данных, сохраненных на диске, а не из UIView. В идеале я хотел бы создать PDF на основе текста в UITextView. Нижеприведенный код записывает первую часть текстового представления просто отлично, но не создает PDF из всего текстового представления. Это довольно немного текста, поэтому он создал только PDF из количества текста, который бы поместился в представлении. Код, который я сейчас использую это:Создание PDF из UITextView
- (void)createPDFfromUIView:(UITextView*)view saveToDocumentsWithFileName:(NSString*)aFilename
{
NSMutableDictionary *myDictionary = CFBridgingRelease(CFDictionaryCreateMutable(NULL, 0,
&kCFTypeDictionaryKeyCallBacks,
&kCFTypeDictionaryValueCallBacks));
// Creates a mutable data object for updating with binary data, like a byte array
NSMutableData *pdfData = [NSMutableData data];
// Points the pdf converter to the mutable data object and to the UIView to be converted
UIGraphicsBeginPDFContextToData(pdfData, textview.bounds, myDictionary);
UIGraphicsBeginPDFPage();
CGContextRef pdfContext = UIGraphicsGetCurrentContext();
// draws rect to the view and thus this is captured by UIGraphicsBeginPDFContextToData
[textview.layer renderInContext:pdfContext]; // this line
// remove PDF rendering context
UIGraphicsEndPDFContext();
// Retrieves the document directories from the iOS device
NSArray* documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
NSString* documentDirectory = [documentDirectories objectAtIndex:0];
NSString* documentDirectoryFilename = [documentDirectory stringByAppendingPathComponent:@"filename"];
// instructs the mutable data object to write its context to a file on disk
[pdfData writeToFile:documentDirectoryFilename atomically:YES];
}
И называть его/сохранить его, я положил это сообщение в IBAction: [self createPDFfromUIView:textview saveToDocumentsWithFileName:@"pdflocation"];
Теперь я разбор через этот код и документы в течение нескольких часов, и не может понять, как создать PDF на основе сохраненного текстового файла, а не представления. Я все еще новичок в программировании, поэтому многое из этого происходит по моей голове. Кто-нибудь знает, как изменить приведенный выше код, чтобы он создавал PDF на основе сохраненного текста, а не вида?
Опции: Я мог бы создать PDF на основе вывода NSString. Я мог бы также выбросить сохраненный текст в UITextView и создать PDF на основе этого (первоначальный план). Однако я не знаю, как это сделать.
спасибо. Я уже обращаюсь к этому документу уже несколько часов, но по какой-то причине он просто не щелкает. Вы знаете, есть ли какие-либо примеры, связанные с созданием PDF-файла из UITextView, сохраненного текста или строки? – John
В листинге 4-2 представлен текст на странице с использованием как CoreText, так и класса NSString. Если у вас есть текст в объекте NSString, вы рисуете его на странице PDF с помощью метода drawInRect: withFont :. –
Спасибо. Знаете ли вы, есть ли какие-либо рабочие примеры этого кода, плавающие вокруг? Я пойду дальше и отметю это правильно, даже если это пройдет над моей головой, я уверен, что это правильный ответ. – John