2017-06-11 60 views
0

我正在查找有关如何在没有任何商业库的情况下以Java创建.vsdx文件的信息。根据其他问题,这似乎很艰难。 作为一个源代码,我们有一个不同的,可能是未知的文件格式,名为.epml,它包含EPC的图形信息,我们应该能够将它转换为.xml文件。据我了解.vsdx格式到目前为止,这是解压缩.vsdx所需的许多文件之一。如果有人能告诉我关于如何实现/创建所有其他文件的选项,我会很高兴。在Java中创建.vsdx文件(Microsoft Visio)

编辑:这里的目标是能够转换.epml文件的图形信息,以便Visio能够读取&显示它在源代码中。因此,如果还有其他可能的选项,则不必是.vsdx文件。

谢谢!

回答

1

有趣的 - 虽然我不能给出一个最终的答案,这里有一些想法:

问题1:你为什么要避免商业化的工具,当最终的结果文件将需要一些 - 即“Visio中”?

1)从XML创建Visio文件: 从VSDX创建模板XML。识别需要编辑的文件。从我所看到的,这些应该是主人和页面文件。能够从EPML制作XML,您还应该知道如何使其适应新的结构。 这个解决方案可能是迄今为止最繁琐和最不灵活的。

2)使用Visio自动化: 假定该文件最后将需要的不仅仅是显卡多,即形状数据,以及,一个简单的解决方案将包括创建图形第一 一)为SVG并导入到Visio中 B的)更简单 - 通过Visio的自动化功能(VBA,.Net,...)进行自动绘图。要删除的形状将已经准备好,因为主人将所有相关的数据和行为设置。 然后,您将通过众多数据链接功能之一(向导,标准数据链接,ODBC连接等)来填充数据。

+0

取消商业图书馆(如Aspose)的原因很简单,就是我们不允许在我们的项目中使用它们。此外,该项目仅基于Java,因此您的第二个建议也不起作用。 to 1):我们已经识别出包含关键图形信息的XML文件。问题是,还有什么需要Visio可以打开最终文件? –

+0

所以限制纯粹是学术......? – y4cine

+0

这是正确的。 –

2

EPML是一种不是未知格式,它是用于EPC工具的交换格式。只是试图谷歌它:)

我建议你将.epml文件转换为.svg(有免费的开源转换器可用,如epml2svg)。 Visio可以读取并显示.svg文件。手段 - 编写代码似乎并不需要实现您的目标(将.epml文件转换为Visio可以显示的内容)。 AFAR还有该工具的在线版本 - 您可以上传EPML文件,取回SVG,然后在Visio中打开它 - 就是这样。

备注 - 有些公司,比如bpm-x,专门从事BPM刀具到刀具图的转换。也许他们已经为您的原始工具提供了解决方案。

.VSDX文件是“office xml”格式,也是开放和记录。但从零开始生成文件非常困难,你是对的。所以原则上你可以从任何能够处理打开的xml包的代码开始。微软有OpenXML SDK,但这是.NET(MSDN HOWTO假设你使用的是.NET,但是解释了打开的xml包的基础知识)

AFAIK,对于java,没有开源的visio库可以使用。 Java和Visio似乎生活在平行的宇宙中。我听说的唯一可行的商业选择似乎是Aspose。

+0

不幸的是,您的第一个建议不是一个选项。我想我必须进一步指定项目: 。一个名为RefModMiner的程序读取/显示.epml文件,该程序允许不同类型的EPC视图并在这些EPC上运行不同的算法。这个想法是能够在所有这些意见中转换EPC。此外,某些选择的算法结果也应该在Visio中表示(即最短路径在Visio中以某种方式标记),这意味着我们必须能够手动更改Visio文件。 –

+0

我们还看了一下旧的.vdx文件格式,它似乎是一个包含所有信息的大.xml文件。问题是,生成这样的文件更容易吗? –

+0

是的,vdx更简单 - 它是一个单独的文件,而不是一个包。但是,它已被弃用。 – Nikolay