2012-03-31 74 views
2

我必须将时间表文件加载到ipad应用程序中,该应用程序使用pdf或xls格式。加载这些文件(xls/pdf)后,我需要编辑时间表文件中的值并保存。我可以在UIWebView中加载这些文件,但我无法编辑这些文件。我需要知道,如何使这些文件(xls/pdf)可编辑?另一个问题是,我需要将pdf文件转换为xls格式和xls文件从pdf格式转换为ipad应用程序。我希望这很清楚。在iOS中实现交互式pdf

回答

1

如果您想支持编辑,您应该使用Quartz API阅读PDF文件,并将其显示在您自己的视图中。见下面的链接

Is it possible to combine multiple pdf files into a single pdf file programmatically in iphone?

PDF editing with iPhone sdk

http://www.iphonedevsdk.com/forum/iphone-sdk-tutorials/10989-pdf-creation-tutorial.html

的想法是,如果你只是想文本编辑,阅读以及使用石英2D API的绘制PDF文件,显示里面的PDF中的所有文本对象可编辑的文本元素,让用户更改,然后保存使用Quartz 2D在原始pdf中创建/替换文本对象。

我得到这个代码,以绘制文本字符串中的PDF文件

// 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

非常感谢您MSK为您快速回复。我会尽力按照你告诉我的方式去做,并让你知道状态。我认为你包括的链接是我真正需要的。再次非常感谢你。我在过去的一周里一直在研究这个话题。我需要在iOS中找到,加载和编辑xls文件的另一个解决方案。也转换PDF格式为XLS和XLS格式为PDF格式。如果转换不可能在iOS内,是否有可能在服务器端的帮助下。感谢和问候,Sree。 – 2012-03-31 09:03:39

+0

您需要搜索xls读取/写入ios的库。我不知道任何。退房http://www.iphonedevsdk.com/forum/iphone-sdk-development/48825-how-read-data-excel-docs-xls.html我相信写你自己的(或移植一些现有的)不会是一项重大任务。您也可以移植http://www.libxl.com。 – msk 2012-03-31 11:41:51

+0

嗨MSK,你有任何关于解析PDF数据的想法。我需要获取PDF中的数据。我在谷歌搜索,但我没有找到任何有用的链接。 – 2012-04-12 06:53:11