1

我的用户要做的是在他们的机器上选择一个 PDF 文档,将其上传到我的网站,在那里我将转换为 HTML 文档以在网站上显示。该文件将在转换后存储在数据库中。

将 PDF 转换为 HTML 的最佳方法是什么?

我收到了一个要求,用户将创建一个 pdf 格式的“新闻”故事,然后将其上传到服务器,在那里它将转换为 HTML 并显示在网站上。

4

6 回答 6

2

任何可以将文档保存为 PDF 的文档创建软件都可以将它们保存为 HTML。我假设问题是您的用户将创建丰富的文档(大量嵌入图像),这会导致多个文件,而您的要求源于希望尽可能简单地将这些文档上传给用户。

有许多转换包可能可以为您做到这一点,但是当您谈论丰富的内容时,您谈论的是文本加图像。这些图像必须存储在某个地方并以某种方式提供服务,无论您使用什么转换方法都需要您检查所有图像源以确保它们指向您服务器上的有效位置。

我想向您的团队推荐一种替代方法:实现众多博客 API 中的一个来发布内容。有免费和商业软件包使用这些 API 将内容直接发布到网站,例如 Windows Live Writer 和 Microsoft Word。您的用户可以简单地创建他们的内容并将其直接上传到您的网站,而无需先将其发布为 PDF,然后再上传。因此,对于您的用户而言,该过程变得更加顺畅,并且您以不需要花费数千美元开发或购买转换代码的形式获得帖子。

两个最常见的 API 是MetaWeblog APIMovable Type API。两者都非常简单且易于实现。我认为这种方式比您正在考虑的方式要好得多。

于 2008-11-10T14:52:38.797 回答
1

我认为将 PDF 转换为 HTML 字符串不一定是最好的主意,尤其是如果您想将其导出为 PDF。PDF 文件通常包含图像等二进制元素,因此您最好通过 Base64 等编码将其转换为 ASCII。这样,您将拥有一个 ASCII 字符串,您可以将其保存到数据库中的文本字段中,然后将其转换回来。您能否进一步扩展主要要求?

于 2008-11-10T14:00:43.537 回答
1

如果可能的话,我的建议是不要这样做(但我们都知道经理是什么样的)所以......

我建议您不要将 PDF 转换为 HTML 或从 HTML 转换(因为除非您能找到商业解决方案,否则它几乎是不可能的),而是按照已经提到的方式将其存储为编码的 Base64 字符串或 BLOB或数据库中的其他二进制格式,然后使用浏览器的某种 PDF 视图插件将其显示给用户。

于 2008-11-10T14:17:39.820 回答
1

所需要的只是一个简单的谷歌搜索“PDF to HTML”: http ://www.gnostice.com/pdf2manyOverview_x.asp 。我确定还有其他人。

因此,虽然它是“可能的”,但您可能想向您的经理解释这不是最好的内容管理解决方案。

于 2008-11-10T14:19:37.570 回答
1

为什么不使用iTextSharp阅读 PDF 内容?然后您可以将二进制 PDF 和文本内容保存到数据库中。然后,您可以让用户搜索内容并下载 PDF。

于 2008-11-10T14:23:24.393 回答
0

您应该查看 DynamicPDF。他们有一个转换器(目前是 Beta 版)来服务于这个目的。我们在使用他们的产品方面取得了巨大成功(尤其是将 Reporting Services 报告直接转储为 PDF)。

参考: http ://www.dynamicpdf.com/

于 2008-11-10T17:06:58.620 回答