我正在开发一个用户可以共享MS-Office文件的应用程序。在Windows下,我使用Word Automation对象和虚拟打印机从.doc和.ppt创建.BMP文件,然后我将其读取/显示并在网络上发送。
现在,我正在将我的应用程序移植到MAC上。
关于MAC我真的不确定如何实现这些东西。我搜索并找到了一种方法,通过QuickLook API的用户获取MAC下文件的位图表示。我还在这里发现了一些与QuickLook相关的帖子。
Get QuickLook preview image for file
Mac Quick Look Preview in an NSView or NSImage?
但是在这里我们坚持使用 QLThumbnailImageCreate ,因为它只为文档提供了一个缩略图图像(.doc和.ppt的第一页)。所以这对我没什么用。
我研究了一下,发现了一个命令 qlmanage ,它的选项-p将生成文档的实际预览,而不仅仅是缩略图。但现在它只将页面中的图像保存为.png文件,并且不对文本做任何处理。它提供了一个Preview.html文件,以及包含附件信息的PreviewProperties.plist。
相同的 qlmange 命令对PowerPoint文件做了一些奇怪的事情。它将幻灯片模板保存为.pdf文件(嵌入图像为.png)。
在代码中是否存在某种方式我可以请求MS-Office QuickLook生成器(office.qlgenerator)为我提供预览对象,然后使用该预览对象将页面转换为位图?
Finder / Spotlight似乎完美地预测了预览我想知道这些应用程序是如何做到的? Apple是否隐藏了开发人员的这一功能?
任何拥有QuickLook专业知识的人都可以指导我完成这项工作,或者使用或不使用QuickLook向我展示其他方式,因为截至目前我认为我真的被困在这里。
简单来说,我只想要页面/幻灯片的原始图像表示。
在这方面的任何帮助都将受到高度赞赏。
谢谢&问候, LazyCoder7
答案 0 :(得分:0)
为与我的情况相同的人回答我自己的问题。
我们需要在此处执行两个步骤。
1.Any Document - > .PDF。强>
对于此部分,您可以使用Programming a Filter/Backend to 'Print to PDF' with CUPS from any Mac OS X application中提供的信息。这是非常好的解释,您也可以查看此链接https://bitbucket.org/codepoet/cups-pdf-for-mac-os-x/wiki/Home。
一旦您理解并试验CUPS,您就可以从.doc生成.PDF文件或者说.ppt。
现在开始解决方案的第二部分。
2.将.PDF转换为.JPG。
对于此部分,您可以使用Convert PDF pages to images with COCOA处的代码。
代码效果很好,可以得到理想的效果。
所以现在基本上我们可以将任何MS Office文件转换为图像,而且不会采用QuickLook方式(这在这种情况下不起作用)。
希望,这可能有助于某人。
此致
CrazyCoder7。