lna*_*ger 10 pdf core-graphics objective-c ios
我需要获取现有的pdf文件并以编程方式填写带有文本的表单字段列表,然后保存pdf而不将其显示给用户.
例如,如果pdf文件包含名为"LastName"和"FirstName"的字段,我想将"FirstName"的值设置为"Louis",然后保存该文件.
我一直在寻找很长一段时间,因为iOS文档(以及这里的大部分问题)似乎都是为了显示或创建pdf内容而不是修改它,因此无法找到任何指导.
编辑:
我的主要问题是:是否可以打开pdf流(我知道如何做)并将每个现有的pdf字典项复制到新的pdf中?我一直无法找到将字典项写入pdf的方法.
使用 HTML 页面会更容易做到这一点。如果您希望使用 HTML 页面而不是 .pdf 表单,那么您可以这样做:
[field1 setText:@"Field 1 Text"];
[field2 setText:@"Field 2 Text"];
NSString *result;
result = [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"$('#field1').val('%@');", field1.text]];
result = [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"$('#pfield2').val('%@');", field2.text]];
result = [webView stringByEvaluatingJavaScriptFromString:@"$('#submitbutton').click();"];
Run Code Online (Sandbox Code Playgroud)
您需要创建两个 UILabels 或 UITextFields 并在 .h 文件中将它们命名为“field2”和“field2”。然后,您可以找到需要替换的字段的 ID,例如#field1,然后将其放在我放置“#field1”的位置,然后再次将其放置在我放置“#field2”的第二个字段中。还需要有一个已加载页面的 UIWebView。此代码将在UIWebView 页面加载后使用。也许可以执行以下操作:
-(void)webViewDidFinishLoad:(UIWebView *)webView {
// Insert above code here
}
Run Code Online (Sandbox Code Playgroud)
如果您想对整个表单执行此操作,您可能需要完全了解 Javascript,但这应该可以帮助您入门。
希望对您有帮助。