我正在寻找有关如何在没有任何商业库的情况下在Java中创建.vsdx文件的一些信息。根据其他问题,它似乎非常艰难。 作为一个来源,我们有一个不同的,可能是未知的文件格式,称为.epml,它包含EPC的图形信息,我们应该能够转换为.xml文件。据我所知,到目前为止.vsdx格式,这是解压缩.vsdx所需的众多文件之一。如果有人能告诉我如何实现/创建所有其他文件的选项,我会很高兴。
编辑:这里的目标是能够转换.epml文件的图形信息,以便Visio能够阅读&在源中显示它。因此,如果有其他可能的选项,则不必是.vsdx文件。
谢谢!
答案 0 :(得分:2)
EPML不是未知格式,它是EPC工具的交换格式。试着谷歌吧:))
我建议你将.epml文件转换为.svg(有免费的开源转换器,比如epml2svg)。 Visio可以读取和显示.svg文件。意味着 - 编写代码似乎并不需要实现您的目标(将.epml文件转换为Visio可以显示的内容)。 AFAR还有该工具的在线版本 - 你上传EPML文件,取回SVG,然后在Visio中打开它 - 就是这样。
附注 - 有些公司,例如bpm-x,专门从事BPM工具到工具图转换。也许他们已经有了原始工具的解决方案。
.VSDX文件是“office xml”格式,也是打开并记录的。但是从头开始生成文件非常困难,你是对的。所以原则上你可以从任何能够处理开放xml包的代码开始。 Microsoft有OpenXML SDK,但那是.NET(MSDN HOWTO假设您使用的是.NET,但解释了open xml包的基本内容)
AFAIK,对于java,没有可以使用的开源visio库。 Java和Visio似乎生活在并行的Universe中。我听说过的唯一可行的商业选择似乎是Aspose。
答案 1 :(得分:1)
有趣 - 虽然我无法给出最终答案,但这里有一些想法:
问题1:当最终结果文件需要一些时,你为什么要避免使用商业工具 - 即" Visio"?
1)从XML创建Visio文件: 从VSDX创建模板XML。确定需要编辑的文件。从我所见,这些应该是主人和页面文件。能够从EPML创建XML,您还应该知道如何使其适应新的结构。 这个解决方案可能是目前最乏味和最不灵活的解决方案。
2)使用Visio自动化: 假设最终文档不仅需要图形,即形状数据,更简单的解决方案将包括首先创建图形 a)作为SVG并导入Visio b)更容易 - 通过Visio的自动化功能(VBA,.Net,......)自动绘图。要放下的形状已经准备好了,因为主人将完成所有相关的数据和行为设置。 然后,您将通过众多数据链接功能之一填充数据(向导,标准数据链接,ODBC连接等)