Cocoa / iOS:如何将文件添加为PDF文档的附件?

时间:2014-05-19 13:49:08

标签: ios objective-c macos cocoa pdf

PDF文件支持将任意文件作为附件嵌入(see here)。

我想在使用Objective-C的Mac和iPhone应用程序中做到这一点:

  1. 将文件作为附件添加到PDF
  2. 从PDF中读取附件文件列表并提取一个
  3. 用例:

    我的应用使用只能由应用打开的自定义文档格式。我想将文档导出为PDF并嵌入原始的自定义文档,以便碰巧安装了应用程序的用户可以修改文档。其他人仍然可以打开并打印PDF。

1 个答案:

答案 0 :(得分:1)

您可以使用Debenu Quick PDF Library的iOS版本轻松完成此操作。下载示例项目并使用以下示例代码进行修改:

如何嵌入文件

[DQPL LoadFromFile:path_of_my_PDF_file :@""];  //load your existing PDF file
[DQPL EmbedFile:@"Original_custom_document" :path_of_the_original_custom_document :@""]; //specify the name and the location of the attachment
[DQPL SaveToFile:new_path];

如何查找附件的文件名(如果只有一个附件,则跳过)

[DQPL LoadFromFile:new_path :@""];
NSString *listItem;
int fileCount = [DQPL EmbeddedFileCount]; //returns the number of attached files
for( int count = 1; count <= fileCount; count++ ){
listItem = [DQPL GetEmbeddedFileStrProperty:count :1]; //returns the filename of the attached file
//show/read or save the returned filenames and the index of it...
}

如何提取附件

[DQPL LoadFromFile:new_path :@""];
[DQPL GetEmbeddedFileContentToFile:1 :path_and_filename_to_write_the_extracted_attachment]; //specify where do you want to save the extracted attachment (in this case the index of the attachment is 1)

帕尔 (Debenu团队)