我正在寻找一种以编程方式(在obj-c中)从本地html文件生成PDF文件的方法。我从用户输入动态生成html,我需要创建PDF并将其发送给用户(通过电子邮件)。我对PDF生成部分有困难。
我有使用CGPDFContextCreateWithURL
创建PDF的代码,但我正在努力使用quartz绘制页面。
我在SO以及互联网上广泛搜索无济于事。
非常感谢任何帮助!
答案 0 :(得分:5)
要从HTML生成pdf,您需要将html渲染到Web视图中,并拍摄Web视图的快照,并将它们渲染到图像上下文中。 本教程可能会有所帮助:
http://www.ioslearner.com/convert-html-uiwebview-pdf-iphone-ipad/
答案 1 :(得分:0)
为什么不使用WebService,将HTML页面发送给它并检索PDF文件?
这样你可以使用iTextSharp和C#,大约2分钟就完成了 另外(如果你是邪恶的)你可以存储和查看服务器上的所有数据。
答案 2 :(得分:0)
我自己没有试过这个,所以我没有提供任何具体的东西,但我必须想象由于成像模型,必须有一个简单的方法在iPhone上做到这一点。我会更深入地了解文档。
至于推回由您自己决定的客户,但可能有多种原因想要保持本地化。坦率地说,对于我雇用的他无法管理这项特殊任务的人来说,我不会感到高兴。因此,对这种推迟进行长期而艰难的思考。哦,即使你推回网络服务器也是一个糟糕的选择。我会更进一步,并首先投资你为什么需要HTML格式的东西。
答案 3 :(得分:0)
我从来没有尝试过这个,所以我不知道它是否会起作用,但是如何将HTML加载到UIWebView中,然后让视图将自己绘制成PDF上下文? E.g。
UIWebView *webview = [[UIWebView alloc] initWithFrame:CGRectMake(...)];
[webview loadHTMLString:html baseURL:...];
然后:
- (void)webViewDidFinishLoad:(UIWebView *)webview {
CGPDFContextRef pdfContext = CGPDFContextCreateWithURL(...);
[webview.layer drawInContext:pdfContext];
...
}
答案 4 :(得分:0)
我按照这个SO:https://stackoverflow.com/a/13342906/448717
制作了它为了保持相同内容的比例,我不得不将WKWebView的大小乘以为UIPrinterRenderer设置的printableRect的大小1.25倍,因为屏幕点与PostScript的不同......我想。