在 Enterprise Architect 中使用 C# 插件生成文档
Document Generation with template in Enterprise Architect with an Add-In C#
我正在 Visual Studio Express 2013 中使用 C# 编写 Enterprise Architect 插件,为包中的单个 element/elements 制作文档。我在文档生成器的帮助下在 EA 中制作了一个模板,我想在输出中写入一些元素的属性。示例:
package >
element >
Name: {Element.Name}... more attributes of the element
< element
< package
问题是,当我使用我的加载项生成文档时,输出将如下所示:
包裹 >
名称:随机测试名称
<包
between package > < package 是空白的,默认情况下文档不应在输出中包含这些字段,我怎样才能让它消失?我试图在包字段之间填充类似 {Pkg.Version} 的东西,但我只在输出中得到这个文本,而不是它的值。在 window 部分下的文档模板设计器中,如果我选中 "Element" 框,它也会选中 "Package" 框,但如果我尝试取消选中 "Package",它会取消选中 [=30] =] 太 - 任何建议我怎样才能让它工作?
我的加载项是这样工作的:
EA.Element element = repository.GetTreeSelectedObject();
int elementID = element.ElementID;
EA.DocumentGenerator docGen = repository.CreateDocumentGenerator();
docGen.NewDocument("");
docGen.InsertTemplate("RandomTemp");
docGen.DocumentElement(elementID, 2, "RandomTemp"); // gets the element by ID
docGen.SaveDocument("DOCUMENT.pdf", EA.DocumentType.dtPDF);
+:如果我也能以某种方式达到元素的包属性,那对我也有用。
提前致谢。
塔马斯
docGen.insertTemplate
按原样打印模板,不填写字段。去掉那行代码应该就可以了
文档将按照您的模板生成报告,只需输入以下代码行即可:docGen.DocumentElement(elementID, 2, "RandomTemp");
我正在 Visual Studio Express 2013 中使用 C# 编写 Enterprise Architect 插件,为包中的单个 element/elements 制作文档。我在文档生成器的帮助下在 EA 中制作了一个模板,我想在输出中写入一些元素的属性。示例:
package >
element >
Name: {Element.Name}... more attributes of the element
< element
< package
问题是,当我使用我的加载项生成文档时,输出将如下所示:
包裹 >
名称:随机测试名称
<包
between package > < package 是空白的,默认情况下文档不应在输出中包含这些字段,我怎样才能让它消失?我试图在包字段之间填充类似 {Pkg.Version} 的东西,但我只在输出中得到这个文本,而不是它的值。在 window 部分下的文档模板设计器中,如果我选中 "Element" 框,它也会选中 "Package" 框,但如果我尝试取消选中 "Package",它会取消选中 [=30] =] 太 - 任何建议我怎样才能让它工作? 我的加载项是这样工作的:
EA.Element element = repository.GetTreeSelectedObject();
int elementID = element.ElementID;
EA.DocumentGenerator docGen = repository.CreateDocumentGenerator();
docGen.NewDocument("");
docGen.InsertTemplate("RandomTemp");
docGen.DocumentElement(elementID, 2, "RandomTemp"); // gets the element by ID
docGen.SaveDocument("DOCUMENT.pdf", EA.DocumentType.dtPDF);
+:如果我也能以某种方式达到元素的包属性,那对我也有用。
提前致谢。
塔马斯
docGen.insertTemplate
按原样打印模板,不填写字段。去掉那行代码应该就可以了
文档将按照您的模板生成报告,只需输入以下代码行即可:docGen.DocumentElement(elementID, 2, "RandomTemp");