QuickLook预览Microsoft Office文件

时间:2014-08-21 11:45:24

标签: macos bitmap ms-office quicklook

我正在开发一个用户可以共享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

1 个答案:

答案 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。