2011-02-13 56 views
4

我對iOS開發相當陌生,而且這個人正在殺死我。我還沒有找到一個完整的(簡單的)如何在iPhone上將文本寫入pdf的示例。關於這個主題的Apple文檔是代碼片段,並且很難遵循(對我來說),並且下載了Quartz演示程序,我發現它所做的只是顯示已經存在的pdf。通過NSString將文本寫入PDF通過

簡而言之,我現在擁有世界上最簡單的基於視圖的應用程序。該視圖中有一個按鈕。當按下按鈕時,將構建一個包含數字1到15的NSString。我可以將文本文件寫入包含NSString內容的設備,但更喜歡它是pdf。

底線是我想從NSString構建一個pdf文件,最終通過電子郵件發送附件。

如果任何人都可以指出我有一個完整的項目,寫文本到PDF我想一定會很感激。

回答

11
// 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); 
+0

這個工作是否適用於多個NSStrings? – 2012-10-10 20:00:10