我必须将时间表文件加载到ipad应用程序中,该应用程序采用pdf或xls格式。加载这些文件(xls / pdf)后,我需要编辑时间表文件中的值并保存。我可以在UIWebView中加载这些文件,但我无法编辑这些文件。我需要知道,如何使这些文件(xls / pdf)可编辑?另一个问题是我需要从ipad应用程序内部将pdf文件转换为xls格式,将xls文件转换为pdf格式。我希望这很清楚。
答案 0 :(得分:1)
如果您想支持编辑,您应该使用Quartz API阅读PDF文件并将其显示在您自己的视图中。见以下链接
Is it possible to combine multiple pdf files into a single pdf file programmatically in iphone?
http://www.iphonedevsdk.com/forum/iphone-sdk-tutorials/10989-pdf-creation-tutorial.html
这个想法是你只想要文本编辑,使用石英2D API读取和绘制你的pdf文件,在可编辑的文本元素中显示pdf中的所有文本对象,让用户更改并在保存中创建/替换原始pdf中的文本对象使用Quartz 2D。
我有这个代码在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);