我一直在找一段时间,所以我决定尝试一些众包。
我已经搜索了(Googled)答案,并且已经浏览了一段时间的Stack Overflow,但我找不到通过Perl创建DOCX文档的正确且相对简单的方法。
我想创建一个DOC文件,并且由于DOCX是基于XML的,因此我猜测这将是实现此目的的一种更简单的方法。
我找到了一个RTF::Writer
模块,但是它的功能非常有限。
对于PHP和其他语言,有不止一个这样的库,但是不幸的是,我不能使用它。
我不在Windows环境上运行,因此无法使用任何与Office集成的东西,此外,我不想开始将Office与产品捆绑在一起。
我愿意接受建议,但请提供合理的建议:),即不,您无法使用DOCX。
这是我尝试过的:
1)取一个现有的DOCX,并直接修改XML,我通过此实现的所有操作都会导致Word崩溃:)显然,Word对它的属性顺序非常敏感
2)在Google搜索中找到答案,我发现了一些类似Win32::Word::Writer
的代码,它仅在Windows上有效并且需要OLE和Office
3)从2010年开始发现了很多帖子,说这是不可能的,已经过去了将近4年,可能有些事情可以做到这一点
4)寻找商业解决方案,找不到一个,我发现FOP可以创建RTF,它非常接近,但是缺少很多我想使用的样式
5)许多东西(代码和模块)允许从DOCX提取数据,但是没有什么可以创造一个奇怪的东西
6)找到了像OpenOffice::OODoc
这样的废弃代码,该代码在2010年停止编写,当然需要安装OpenOffice,并且可能还需要非 headless (即需要GUI系统)
谢谢大家的回答:}
最佳答案
我过去使用的一种作弊方式是输出带有“.doc”文件名的HTML。
这样可以减少对文档格式的细粒度控制,但对于您的用例而言可能就足够了。
关于perl - 使用Perl(模块)创建docx(Word)文档,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20682896/