2012-01-11 160 views
1

我需要将docx转换为服务器中的pdf文件。我已经看到PDFCreator会根据下面的链接(http://sourceforge.net/projects/pdfcreator/)。在c中使用openxml和pdfcreator将docx转换为pdf#

我需要下面列出一些这方面的建议:

  1. 我可以用PDF创建在服务器端。
  2. 没有创建word对象,我可以通过使用pdfcreator API将docx转换为pdf与openxml。

请尽快给我回复。

+0

您需要将docx作为实际文档呈现。如果你不能使用Word,你可以尝试OpenOffice?这不是自动化的辉煌,但它可以工作。或者可能会购买许多第三方组件来执行此操作。看到[这个老问题](http://stackoverflow.com/questions/3651880/save-open-xml-as-pdf) – Rup 2012-01-11 10:25:23

+0

我只需要只使用ms字。第三方工具在那里,但成本。我们在我们的应用程序中使用了wordDocument.ExportAsFixedFormat(...),但需要Word对象(这不是Microsoft推荐的)。我看到了PDFCreator,是不是很好? – user1135690 2012-01-11 10:33:29

回答

1

我认为你想在这里做两件不同的事情。 OpenXML与DOCX文件一起使用 - 在这种情况下Word不会以任何方式使用。 PDFCreator似乎假装是一台打印机,当Word“打印”它时,它会生成一个PDF文件。

因为你说你想在服务器上将DOCX转换为PDF,我假设你不想使用Word。因此,如果您想要所有免费软件,最好的办法是使用OpenXML来读取文件,然后致电iText来创建PDF。您的代码基本上将从读取OpenXML内容转换为iText。

请记住,这有很多复杂性。它不仅仅是从OpenXML中读取一段文字,而是将它写入iText。您必须将iText的所有段落和运行属性以及任何应用的样式,列表等传递给iText。单独使用how to indent the first line of a paragraph的规则相当复杂。

如果您对商业软件开放,有许多产品可以很容易地做到这一点。如果是这样,请将其添加到您的问题中,我将列出这些(包括我的公司)。

+0

嗨 - [下面的答案](http://stackoverflow.com/a/9296000)是试图回复你; [用户rosirosss](http://stackoverflow.com/users/1069326/rosirosss)希望听到您的商业产品清单。谢谢! – Rup 2012-02-15 15:29:26

+0

@Rup - 我最喜欢的是www.windward.net(免责声明 - 我是那里的首席技术官)。其他的是DevExpress(有限但不贵),Crystal Reports(昂贵而复杂)和Sql Server Reporting Services(免费但是Sql Server的一部分,价格昂贵)。 – 2012-02-22 20:52:18

3

您可以使用docx4j.NET将docx转换为XSL FO,然后从那里转换为PDF。或者,实际上,也适用于Apache FOP支持的其他任何输出格式。

看到这个sample

docx4j.NET是docx4j的一个IKVM'd DLL,是ASL v2许可的开源项目。

+0

这很好,但适时复杂。需要将近10分钟才能转换。 – Liladhar 2015-07-16 09:04:37

+0

您的docx有多少页?你在Visual Studio中调试吗?这很慢.. – JasonPlutext 2015-07-16 10:17:18