最近在鼓捣java 如何生成visio图表,苦于没有API,找到了aspose这个神器,下载试用版本之后,发现最多只能生成10个元素,而且有水印,下面尝试如何去掉水印与元素限制。
本文章所涉及的软件均可从网上获取,但是只能用于学习之用,不能用于商业目的,正版的话请前往 aspose下载。
首先本次需要用到的软件:
JByteMod-Beta-1.8.2.zip
aspose-diagram-20.1-jdk16.jar
jboss-javassist-javassist.zip
第一步:使用JByteMod打开aspose-diagram-20.1-jdk16.jar,找到反编译之后找到License类,找到关键的设置License方法,如下:
public void setLicense(final InputStream inputStream) throws Exception {
Document parse = null;
if (inputStream != null) {
try {
parse = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(inputStream);
}
catch (Exception ex) {
throw new DiagramException("Error when parse license stream.");
}
}
this.a(parse);
}
可以看到这是从某个配置文件里面输入一些关键的鉴权信息,那么配置文件里面应该有些什么东西呢,接着看:
void a(final Element element) throws Exception {
try {
int n = 0;
final Node item = element.getElementsByTagName("Data").item(0);
final Node item2 = element.getElementsByTagName("Signature").item(0);
if (item != null && item2 != null) {
final Node a = afl.a(item.getChildNodes(), "Products");
final NodeList list = (a != null) ? a.getChildNodes() : null;
if (list != null) {
this.b = new String[list.getLength()];