Aspose Words 24.12 破解跳过 License
Aspose Words 24.12 破解跳过 License
在 java 领域,要很好的支持 office 这一套预览转换等,就不得得提一下 aspose 这个组件了,虽然也有一些开源的操作 word、Excel、pdf 等工具,不是比较重就是各种乱码,反正支持不太友好,aspose 好用是好用,但是就是收费,但是自己有一些转换需求为了快捷变成所以进行了一下研究破解,本文提供教程仅供学习使用,请勿用于商业用途,若侵权请联系我。
参考了一些网上大神的破解文章,因为网上现存的基本上不是最新版的,本文采用了比较新一点的 24的最后一个版本进行破解,可以支持使用几年了~。
原理就是找到 license 注册的地方,然后进行直接反射跳过验证,网上有一些是直接对原始 jar 包进行了替换更改,采用本文方式只需要引入官方 jar 包,在项目启动全局调用一下提供的方法即可实现无限制。
使用步骤:
pom 文件引入 aspose 仓库地址和 24.12 官方依赖。
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>24.12</version>
<classifier>jdk17</classifier>
</dependency>
</dependencies>
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://releases.aspose.com/java/repo/</url>
</repository>
</repositories>
测试类:
/**
* Aspose 测试
*
* @author lcry
* @since 2025/04/24 22:40
*/
public class AsposeTest {
public static void main(String[] args) throws Exception {
registerWord2412();
String path = AsposeTest.class.getClassLoader().getResource("1.docx").getPath();
Document doc = new Document(String.valueOf(path)); // 替换为你的输入文件路径
// 创建 PDF 保存选项
PdfSaveOptions options = new PdfSaveOptions();
// 可以设置各种 PDF 选项,例如:
options.setCompliance(PdfCompliance.PDF_17); // 设置 PDF 版本兼容性
// 将文档保存为 PDF
doc.save("1.pdf", options); // 替换为你想要的输出文件路径
System.out.println("文档转换成功!");
}
/**
* aspose-words:jdk17:24.12 版本
*/
public static void registerWord2412() {
try {
Class<?> zzodClass = Class.forName("com.aspose.words.zzod");
Constructor<?> constructors = zzodClass.getDeclaredConstructors()[0];
constructors.setAccessible(true);
Object instance = constructors.newInstance(null, null);
Field zzWws = zzodClass.getDeclaredField("zzWws");
zzWws.setAccessible(true);
zzWws.set(instance, 1);
Field zzVZC = zzodClass.getDeclaredField("zzVZC");
zzVZC.setAccessible(true);
zzVZC.set(instance, 1);
Class<?> zz83Class = Class.forName("com.aspose.words.zz83");
constructors.setAccessible(true);
constructors.newInstance(null, null);
Field zzZY4 = zz83Class.getDeclaredField("zzZY4");
zzZY4.setAccessible(true);
ArrayList<Object> zzwPValue = new ArrayList<>();
zzwPValue.add(instance);
zzZY4.set(null, zzwPValue);
Class<?> zzXuRClass = Class.forName("com.aspose.words.zzXuR");
Field zzWE8 = zzXuRClass.getDeclaredField("zzWE8");
zzWE8.setAccessible(true);
zzWE8.set(null, 128);
Field zzZKj = zzXuRClass.getDeclaredField("zzZKj");
zzZKj.setAccessible(true);
zzZKj.set(null, false);
} catch (Exception e) {
e.printStackTrace();
}
}
}
核心方法:registerWord2412()
效果预览
破解前:
破解后:
重要声明
请勿用于商业用途,商业用途请购买官方正版,用于商业用途本人不承担任何责任。
参考文章
Aspose.Words22.12破解-跳过License进行去除水印
商业转载请联系作者获得授权,非商业转载请注明本文出处及文章链接