我正在寻找一种简单(免费)的方法,可以在程序中将任意文档转换为PDF。有许多免费的PDF打印机,但我需要能够在一个程序内调用转换而无需人工干预。该程序是用Java开发的,但只能在Windows环境中运行,因此如果存在这样的转换程序,调用exe似乎是一个很好的解决方案。
答案 0 :(得分:2)
我在JodConverter取得了一些成功,这是一个围绕OpenOffice.org API的基于Java的包装器。基本上,您可以将OpenOffice作为服务器运行,并自动执行在OpenOffice(支持许多类型)中打开文档并将其另存为PDF的操作。如果您对此感兴趣,JodConverter可以更轻松地内置支持作为Web服务运行。
下行:1)与OpenOffice本身一样,某些复杂的专有文档的转换并不完美;您的某些Word文档可能与PDF不完全相同。 2)OpenOffice作为服务器并不完全稳定;如果你用一堆请求点击它会崩溃。一个(有点贵 - 我认为几千美元)替代品是Sun的StarOffice Server,它与JodConverter完全相同(包装OpenOffice),但增加了OpenOffice实例的池和其他稳定性支持。
最准确的PDF转换工具由Adobe制作(他们确实有基于服务器的转换器支持API),但它们非常昂贵 - 美国数万美元。
答案 1 :(得分:1)
简单...免费... pdf ...任意输入......至少要求是简单而合理的。
说真的,这些要求不会得到满足。如果你愿意为一个某些的图书馆支付费用,你可以查看Amyuni - 这是一个很棒的图书馆,但你所要求的东西类型是正确的原生的win32土地 - 不会发生在Java中。即使有了这些,也不会简单。
我想你也可以用Ghostscript做一些事情(许多免费的PDF转换器使用它)。但即使这样,你仍然需要处理来自任意输入问题的转换。
还有其他库可以显示许多不同的文件格式(即使没有本机应用程序可用) - 也许这样的东西可以工作。这是一个(现在由Oracle拥有,所以你知道它必须是好的;-): Outside In。
(BTW - iText肯定不会做你要求的。我喜欢iText,我使用iText - 哎呀,我是iText的一部分开发者 - 但它绝对不是PDF打印驱动程序,这更符合你的目标)。
答案 2 :(得分:0)
对于Java,最推荐的是iText