Запись текста в PDF с помощью NSString - PullRequest
4 голосов
/ 13 февраля 2011

Я довольно новичок в разработке для iOS, и это убивает меня. Я не нашел один полный (простой) пример того, как написать текст в PDF на iPhone. Документация Apple по этому вопросу - фрагменты кода, и им трудно следовать (во всяком случае, для меня), и, скачав демо Quartz, я обнаружил, что все, что он делал, это отображал уже существующий pdf.

Проще говоря, у меня самое простое в мире приложение на основе представлений на данный момент. В представлении есть одна кнопка. Когда кнопка нажата, создается строка NSString с номерами от 1 до 15. Я могу записать текстовый файл на устройство, которое содержит содержимое строки NSString, но я бы предпочел, чтобы это был файл PDF.

Суть в том, что я хочу создать файл pdf из NSString, чтобы в конечном итоге отправить его по электронной почте в виде вложения.

Если кто-нибудь может указать мне куда-нибудь, у кого есть законченный проект, который пишет текст в pdf, я был бы очень признателен.

1 Ответ

11 голосов
/ 14 февраля 2011
// Create URL for PDF file
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *filename = @"test.pdf";
NSURL *fileURL = [NSURL fileURLWithPathComponents:[NSArray arrayWithObjects:documentsDirectory, filename, nil]];

// Create PDF context
CGContextRef pdfContext = CGPDFContextCreateWithURL((CFURLRef)fileURL, NULL, NULL);
CGPDFContextBeginPage(pdfContext, NULL);
UIGraphicsPushContext(pdfContext);

// Flip coordinate system
CGRect bounds = CGContextGetClipBoundingBox(pdfContext);
CGContextScaleCTM(pdfContext, 1.0, -1.0);
CGContextTranslateCTM(pdfContext, 0.0, -bounds.size.height);

// Drawing commands
[@"Hello World!" drawAtPoint:CGPointMake(100, 100) withFont:[UIFont boldSystemFontOfSize:72.0f]];

// Clean up
UIGraphicsPopContext();
CGPDFContextEndPage(pdfContext);
CGPDFContextClose(pdfContext);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...