1

当有人在检查用户是否有权查看内部网门户的文档后提供文档链接时,我们需要将 MS Office 文档实时转换为 PDF。我们还需要根据文档的最后修改日期缓存文档,如果另一个用户请求相同的文档并且文档内容自上次转换后没有修改,我们不应该再次转换文档。

我有一些关于我们如何实现这一点的基本问题 - 并想检查是否有人有以前的经验或想法他们如何看待这个实现?

例如,如果我们选择 J2EE 作为技术,并选择其中一个开源 Java 库进行 PDF 转换;我有以下问题。

  1. 如果有一个 100 MB 的文档 - 在开始转换文档之前,我们需要从托管该文档的系统下载整个文档。鉴于需要实时查看,这种方法可能会对响应时间产生重大影响。是否可以选择在不下载整个文档的情况下阅读文档的第一页,以便我们可以逐页转换文档?
  2. 我们如何缓存文档?我不认为我们可以将文档存储在服务器或数据库中。原因是这可能导致任何有权访问数据库或服务器的人 - 都可以访问文档内容。有什么想法吗?
  3. 或者您是否建议任何开箱即用的产品来代替定制开发?

谢谢

4

1 回答 1

1

我在一家公司工作,该公司创建的产品完全符合您使用Java / .NET Web 服务调用所做的工作,所以让我看看我是否可以毫无偏见地回答您的问题。

  1. 整个文档需要下载,因为它需要在 PDF 转换(例如用于页码目的)之前进行解释。我相信你只是举个例子,但是对于一个 MS-Office 文档来说 100MB 是非常大的,尽管我们不时会看到它。

  2. 您可以根据您的确切安全要求实施缓存。如果您不想将转换后的文件存储在(安全的)数据库或文件系统中,那么您可能希望将它们存储在防火墙后面的不同服务器上。根据您预期的文档数量和大小,您可能希望将它们缓存在内存中。我确信有很多可用的 J2EE 缓存库,我知道 .NET 中有很多。只需将最常请求的文档保留在缓存中即可。

  3. 根据您的预算,您可能会选择开箱即用的产品(提示:-)。我知道有一些可用于 Java 的免费库可以利用 Open Office,但是在 OO 中打开 MS-Office 文件时会遇到相同的格式限制。尝试进行自己的 MS-Office 集成/自动化时要小心。有可能使它可靠和可扩展(我们做到了),但这需要很长时间和大量工作。

我希望这有帮助。

于 2011-05-18T15:57:02.323 回答