Microsoft Office 文件的 QuickLook 预览
Posted
技术标签:
【中文标题】Microsoft Office 文件的 QuickLook 预览【英文标题】:QuickLook Previews for Microsoft Office Files 【发布时间】:2014-08-21 11:45:23 【问题描述】:我正在开发一个用户可以共享 MS-Office 文件的应用程序。在 Windows 下,我使用 Word 自动化对象和虚拟打印机从 .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
【问题讨论】:
我确实以某种方式解决了我的部分问题,即打印 .pdf 文件。由于 pdf 支持是 MAC OS 的原生支持。我从 .pdf 文件生成 .jpg 图像,现在我正在考虑以某种方式将 .doc、.ppt 转换为 .pdf,然后使用这种技术将 .pdf 转换为 .jpg。让我们看看我能走多远。 我在这里jaimerios.com/?p=171 找到了一个示例脚本,但它有自己的一系列问题。需要在 MAC 上打开辅助功能选项。我的已关闭,这也可能导致其他机器出现问题。此外,脚本没有成功完成。在需要输入 Command+Shift+G 以获取文件路径的位置停止。需要另辟蹊径。 我想出了如何在 MAC 下将 .doc 和 .ppt 转换为 .pdf 的方法。 ***.com/questions/11192396/…. 【参考方案1】:为与我情况相同的人回答我自己的问题。
我们需要一个两步的过程。
1.任何文档 -> .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 或 .ppt 生成 .PDF 文件。
现在开始解决方案的第二部分。
2.将.PDF转换为.JPG。
这部分你可以使用Convert PDF pages to images with COCOA的代码。
代码运行良好并给出了预期的结果。
所以现在基本上我们可以将任何 MS Office 文件转换为图像,而且无需采用 QuickLook 方式(但在这种情况下不起作用)。
希望,这可能对某人有所帮助。
问候,
CrazyCoder7.
【讨论】:
以上是关于Microsoft Office 文件的 QuickLook 预览的主要内容,如果未能解决你的问题,请参考以下文章
microsoft office Enterprise 2007在安装过程中出错怎么办?
Microsoft Office 文件的 QuickLook 预览
如何在 C# 中读取 excel 文件而不使用 Microsoft.Office.Interop.Excel 库