如何在iPhone SDK中实现受密码保护的PDF文件

时间:2010-04-30 07:35:30

标签: iphone

是否有人知道如何在iphone sdk中实现受密码保护的PDF文件。我的意思是我需要从我的应用程序创建一个密码pdf文件。请帮助我。

非常感谢任何人的帮助。

3 个答案:

答案 0 :(得分:4)

这是另一种可能更适合您的解决方案:

CGPDFContextCreate采用一个字典,您可以在其中传递密码作为其中一个属性。

CGPDFContxtCreate的详细信息,您可以在Apple的参考文档中找到:

http://developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/CGPDFContext/Reference/reference.html#//apple_ref/c/func/CGPDFContextCreate

您可以在Apple的文档中找到密码设置信息:

http://developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/CGPDFContext/Reference/reference.html#//apple_ref/doc/constant_group/Auxiliary_Dictionary_Keys

答案 1 :(得分:1)

我们可以使用以下方式提供PDF文件密码:

        NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"owner", kCGPDFContextOwnerPassword, @"user", kCGPDFContextUserPassword, kCFBooleanFalse, kCGPDFContextAllowsCopying, kCFBooleanFalse, kCGPDFContextAllowsPrinting,  nil];
        NSFileManager *fileManager = [NSFileManager defaultManager];
        NSString *fileName = [NSString stringWithFormat:@"%@/Documents/samplePDF.pdf", NSHomeDirectory()];
        if (![fileManager fileExistsAtPath:fileName]) {
            [fileManager createFileAtPath:fileName contents:nil attributes:nil];
        }

        // Create the PDF context using the default page size of 612 x 792.
        UIGraphicsBeginPDFContextToFile(fileName, CGRectZero, dictionary);

答案 2 :(得分:0)

我有同样的问题

我使用一个小技巧解决了这个问题...即生成PDF并输入“密码保护”的zip文件

我使用了允许保护的zip库ziparchive

希望这个帮助