html – 为什么来自WebView的dataWithPDFInsideRect不能在Mavericks上创建高质量的PDF?

html – 为什么来自WebView的dataWithPDFInsideRect不能在Mavericks上创建高质量的PDF?,第1张

概述运行 sample project并观察名为SaveWebPage.pdf的桌面上生成的输出PDF 粘贴感兴趣的代码片段 NSURL *url = [[NSBundle mainBundle] URLForResource:@"Page" withExtension:@"html"];NSURLRequest *req = [NSURLRequest requestWithURL:url]; 运行 sample project并观察名为SaveWebPage.pdf的桌面上生成的输出pdf

粘贴感兴趣的代码片段

NSURL *url = [[NSBundle mainBundle] URLForResource:@"Page" withExtension:@"HTML"];NSURLRequest *req = [NSURLRequest requestWithURL:url];[[self.webvIEw mainFrame] loadRequest:req];NSVIEw *vIEw = [[[self.webvIEw mainFrame] frameVIEw] documentVIEw];NSData *data = [vIEw dataWithpdfInsIDeRect:[vIEw bounds]];NSArray* desktopArrayPaths = NSSearchPathForDirectorIEsInDomains(NSDesktopDirectory,NSUserDomainMask,YES);Nsstring* desktopPath = [desktopArrayPaths objectAtIndex:0];Nsstring* pdfPath = [Nsstring stringWithFormat:@"%@/SaveWebPage.pdf",desktopPath];pdfdocument *doc = [[pdfdocument alloc] initWithData:data];[doc writetofile:pdfPath];

上面的代码做了什么?

> WebVIEw用于加载使用img标签嵌入pdf的HTML.见HTML source here
>加载webvIEw后,尝试使用NSVIEw的dataWithpdfInsIDeRect方法从文档视图中获取pdf数据
>内存中的pdf数据写入磁盘

结果

>在小牛队之前的版本(即10.8和10.7)上面的代码片段生成了一个高质量且内容可读的pdf文档.在预览应用程序中打开输出pdf时,可以看到高质量的pdf内容,并且在缩放时可以在不影响图像质量的情况下进行缩放. See Mountain Lion output PDF here
>在Mavericks(10.9)上,上面的代码片段生成一个pdf文档,其内容模糊,图像质量下降See Mavericks output PDF here

问题

> dataWithpdfInsIDeRect:在以前版本的OSX上工作时不能使用Mavericks吗?
>我是否需要在HTML中嵌入pdf(从Mavericks开始),以便Webkit在屏幕外正确渲染它们?
>是否有另一种方法可以从同一个HTML获得pdf,从而在小牛队中获得更好的质量?

解决方法 pdf是一种专有的文件格式,Apple故意决定不会出于各种主要的公司政治原因.您最终得到的pdf的质量完全取决于您正在使用的库 – 从最初的Mavericks的声音来看,您使用的是不同的驱动程序库,这是不太理想的.

如果您使用Webkit渲染HTML /,则Mavericks存在一个已知问题,即Safari默认情况下不会正确处理pdf.要更新此命令,请从服务器终端运行此命令.

defaults write com.apple.Safari WebKitOmitpdfSupport -bool NO

下载最新的Adobe Reader& amp;安装它可能会给你/重新安装/刷新正确的驱动程序,如果这不起作用.

总结

以上是内存溢出为你收集整理的html – 为什么来自WebView的dataWithPDFInsideRect不能在Mavericks上创建高质量的PDF?全部内容,希望文章能够帮你解决html – 为什么来自WebView的dataWithPDFInsideRect不能在Mavericks上创建高质量的PDF?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1009105.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存