如何在ios应用程序中显示和编辑现有PDF文件

时间:2011-10-04 07:05:45

标签: iphone objective-c ios ipad pdf

我不想创建新的PDF文件,我已经完成了但希望通过代码在iOS中显示和编辑现有的pdf文件。

这是否可能,如果可能,我怎么能这样做......

更新

假设有文本文档pdf,我们想在该文件中输入一些其他文本并保存它。那么如何通过编程来完成?

请帮我解决这个问题...

提前致谢...

3 个答案:

答案 0 :(得分:1)

我知道这个问题为时已晚,但是我想添加我的解决方案。

我正在使用UIGraphicsBeginPDFContextToFile生成PDF文件。我已经从基类PDFCreator创建了一个名为UIViewController的类,因为我有两个这样的函数:

- (void) beginContextWithFile:(NSString *)filename
{
    pageSize = CGSizeMake(1024, 1424);

    UIGraphicsBeginPDFContextToFile(filename, CGRectZero, nil);

    UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, pageSize.width, pageSize.height), nil);

    [self createInitialPart];
}

- (void) endContext
{
    UIGraphicsEndPDFContext();
}

我在app委托文件中创建了这个类的对象,因为它会保留对象直到应用程序终止(这是我的要求)。

最初,我正在调用beginContextWithFile:,它将在文档目录中创建一个pdf文件以及我通过调用createInitialPart方法添加的数据。

稍后我需要更新该文件,所以我有另一个名为secondPart的方法,虽然我调用了一些方法来追加该文件。

一旦我完成了创作,我需要调用endContext类的PDFCreator,这将完成pdf生成,是的,我将获得更新的文件。

这有点棘手,我没有执行任何内存检查,虽然我有要求,我找到了解决方案:)

答案 1 :(得分:1)

我能够通过创建原始PDF的副本并在构建过程中对其进行修改来实现此目的。

PS:在我的解决方案中,我需要编辑新PDF的文档信息,所以我使用了 要执行此操作的主题参数。

Swift 3

  |CedenteID|Ano   |Periodo|Sequencia|
  |         |      |       |         |
  |392      |2016  |1      |37382    |
  |392      |2016  |2      |17351    |

答案 2 :(得分:0)

您可以使用Quartz2D来操作PDF,打开它们,进行转换等等。

查看官方documentation

更新:

按照文档中的说明创建pdf上下文,然后您只需编写文本:

http://developer.apple.com/library/ios/#documentation/graphicsimaging/conceptual/drawingwithquartz2d/dq_text/dq_text.html#//apple_ref/doc/uid/TP30001066-CH213-TPXREF101