用于学习,不可用于商业!
1.maven 依赖引用
<!--word-->
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>21.11</version>
<classifier>jdk17</classifier>
</dependency>
<!--excel-->
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells</artifactId>
<version>21.11</version>
</dependency>
<!--pdf-->
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>21.11</version>
</dependency>
<!--ppt-->
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-slides</artifactId>
<version>21.10</version>
<classifier>jdk16</classifier>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.28.0-GA</version>
</dependency>
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>AsposeJavaAPI</id>
<url>https://repository.aspose.com/repo/</url>
</pluginRepository>
</pluginRepositories>
2. license.xml 文件
<License>
<Data>
<Products>
<Product>Aspose.Total for Java</Product>
<Product>Aspose.Words for Java</Product>
</Products>
<EditionType>Enterprise</EditionType>
<SubscriptionExpiry>20991231</SubscriptionExpiry>
<LicenseExpiry>20991231</LicenseExpiry>
<SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber>
</Data>
<Signature>
sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=
</Signature>
</License>
3.Aspose.Words for Java21.11去除水印和数量限制
3.1 添加修改方法
/**
* 修改words jar包里面的校验
*/
public static void modifyWordsJar() {
try {
//这一步是完整的jar包路径,选择自己解压的jar目录
ClassPool.getDefault().insertClassPath("D:\\maven\\repo\\com\\aspose\\aspose-words\\21.11\\aspose-words-21.11-jdk17.jar");
//获取指定的class文件对象
CtClass zzZJJClass = ClassPool.getDefault().getCtClass("com.aspose.words.zzXDb");
//从class对象中解析获取指定的方法
CtMethod[] methodA = zzZJJClass.getDeclaredMethods("zzY0J");
//遍历重载的方法
for (CtMethod ctMethod : methodA) {
CtClass[] ps = ctMethod.getParameterTypes();
if (ctMethod.getName().equals("zzY0J")) {
System.out.println("ps[0].getName==" + ps[0].getName());
//替换指定方法的方法体
ctMethod.setBody("{this.zzZ3l = new java.util.Date(Long.MAX_VALUE);this.zzWSL = com.aspose.words.zzYeQ.zzXgr;zzWiV = this;}");
}
}
//这一步就是将破译完的代码放在桌面上
zzZJJClass.writeFile("C:\\Users\\13373\\Desktop");
//获取指定的class文件对象
CtClass zzZJJClassB = ClassPool.getDefault().getCtClass("com.aspose.words.zzYKk");
//从class对象中解析获取指定的方法
CtMethod methodB = zzZJJClassB.getDeclaredMethod("zzWy3");
//替换指定方法的方法体
methodB.setBody("{return 256;}");
//这一步就是将破译完的代码放在桌面上
zzZJJClassB.writeFile("C:\\Users\\13373\\Desktop");
} catch (Exception e) {
System.out.println("错误==" + e);
}
}
3.2 修改jar包里面的数据
为了不修改原jar包建议复制一份重命名。
1.打开jar包将桌面com文件夹覆盖到jar包com文件夹
2.删除jar包里面的.RSA
和.SF
文件
3.3重新导入修改后的jar包进行测试
InputStream resourceAsStream = Demo.class.getClassLoader().getResourceAsStream("license.xml");
com.aspose.words.License license = new com.aspose.words.License();
license.setLicense(resourceAsStream);
FileOutputStream os = new FileOutputStream("C:\\Users\\13373\\Desktop\\work\\demo\\test1.pdf");
com.aspose.words.Document doc = new com.aspose.words.Document("C:\\Users\\13373\\Desktop\\work\\demo\\test1.docx");
doc.save(os, com.aspose.words.SaveFormat.PDF);
os.close();
3.4word转html,图片转为base64类型
InputStream resourceAsStream = Demo.class.getClassLoader().getResourceAsStream("license.xml");
com.aspose.words.License license = new com.aspose.words.License();
license.setLicense(resourceAsStream);
FileOutputStream os = new FileOutputStream("D:\\test\\test1.HTML");
com.aspose.words.Document doc = new com.aspose.words.Document("C:\\Users\\13373\\Desktop\\work\\demo\\output.docx");
com.aspose.words.HtmlSaveOptions htmlSaveOptions = new com.aspose.words.HtmlSaveOptions(SaveFormat.HTML);
htmlSaveOptions.setExportImagesAsBase64(true);
doc.save(os, htmlSaveOptions);
os.close();
4.Aspose.Cells for Java21.11去除水印和数量限制
4.1添加修改方法
/**
* 修改cells.jar包里面的校验
*/
public static void modifyExcelJar() {
try {
//这一步是完整的jar包路径,选择自己解压的jar目录
ClassPool.getDefault().insertClassPath("D:\\maven\\repo\\com\\aspose\\aspose-cells\\21.11\\aspose-cells-21.11.jar");
//获取指定的class文件对象
CtClass zzZJJClass = ClassPool.getDefault().getCtClass("com.aspose.cells.License");
//从class对象中解析获取所有方法
CtMethod[] methodA = zzZJJClass.getDeclaredMethods();
for (CtMethod ctMethod : methodA) {
//获取方法获取参数类型
CtClass[] ps = ctMethod.getParameterTypes();
//筛选同名方法,入参是Document
if (ps.length == 1 && ctMethod.getName().equals("a") && ps[0].getName().equals("org.w3c.dom.Document")) {
System.out.println("ps[0].getName==" + ps[0].getName());
//替换指定方法的方法体
ctMethod.setBody("{a = this;com.aspose.cells.zblc.a();}");
}
}
//这一步就是将破译完的代码放在桌面上
zzZJJClass.writeFile("C:\\Users\\13373\\Desktop");
} catch (Exception e) {
System.out.println("错误==" + e);
}
}
4.2修改jar包里面的数据
为了不修改原jar包建议复制一份重命名。
1删除jar包里面的.RSA
和.SF
文件打开jar包将桌面com文件夹覆盖到jar包com文件夹
2.删除jar包里面的.RSA
和.SF
文件
4.3重新导入修改后的jar包进行测试
InputStream resourceAsStream = Demo.class.getClassLoader().getResourceAsStream("license.xml");
com.aspose.cells.License license = new com.aspose.cells.License();
license.setLicense(resourceAsStream);
FileOutputStream os = new FileOutputStream("C:\\Users\\13373\\Desktop\\work\\demo\\test1.html");
Workbook workbook = new Workbook("C:\\Users\\13373\\Desktop\\demo.xlsx");
workbook.save(os, SaveFormat.HTML);//设置转换文件类型并转换
os.close();
5.Aspose.PDF for Java21.11去除水印和数量限制
5.1添加修改方法
/**
* 修改pdf jar包里面的校验
*/
public static void modifyPDFJar() {
try {
//这一步是完整的jar包路径,选择自己解压的jar目录
ClassPool.getDefault().insertClassPath("D:\\maven\\repo\\com\\aspose\\aspose-pdf\\21.11\\aspose-pdf-21.11.jar");
//获取指定的class文件对象
CtClass zzZJJClass = ClassPool.getDefault().getCtClass("com.aspose.pdf.l9f");
//从class对象中解析获取所有方法
CtMethod[] methodA = zzZJJClass.getDeclaredMethods();
for (CtMethod ctMethod : methodA) {
//获取方法获取参数类型
CtClass[] ps = ctMethod.getParameterTypes();
//筛选同名方法,入参是Document
if (ps.length == 1 && ctMethod.getName().equals("lI") && ps[0].getName().equals("java.io.InputStream")) {
System.out.println("ps[0].getName==" + ps[0].getName());
//替换指定方法的方法体
ctMethod.setBody("{this.l0if = com.aspose.pdf.l10if.lf;com.aspose.pdf.internal.imaging.internal.p71.Helper.help1();lI(this);}");
}
}
//这一步就是将破译完的代码放在桌面上
zzZJJClass.writeFile("C:\\Users\\13373\\Desktop");
} catch (Exception e) {
System.out.println("错误==" + e);
}
}
5.2修改jar包里面的数据
为了不修改原jar包建议复制一份重命名。
1.打开jar包将桌面com文件夹覆盖到jar包com文件夹
2.jar包里面的.RSA
和.SF
文件
5.3重新导入修改后的jar包进行测试
FileOutputStream os = new FileOutputStream("C:\\Users\\13373\\Desktop\\work\\demo\\test11.docx");
InputStream resourceAsStream = Demo.class.getClassLoader().getResourceAsStream("license.xml");
com.aspose.pdf.License license = new com.aspose.pdf.License();
license.setLicense(resourceAsStream);
com.aspose.pdf.Document doc = new com.aspose.pdf.Document("C:\\Users\\13373\\Desktop\\work\\demo\\test1.pdf");//加载源文件数据
doc.save(os, com.aspose.pdf.SaveFormat.DocX);//设置转换文件类型并转换
os.close();
6.Aspose.Slides for Java21.10去除水印和数量限制
6.1添加修改方法
/**
* 修改slides.jar包里面的校验
*/
public static void modifyPptJar() {
try {
//这一步是完整的jar包路径,选择自己解压的jar目录
ClassPool.getDefault().insertClassPath("D:\\maven\\repo\\com\\aspose\\aspose-slides\\21.10\\aspose-slides-21.10-jdk16.jar");
CtClass zzZJJClass = ClassPool.getDefault().getCtClass("com.aspose.slides.internal.of.public");
CtMethod[] methodA = zzZJJClass.getDeclaredMethods();
for (CtMethod ctMethod : methodA) {
CtClass[] ps = ctMethod.getParameterTypes();
if (ps.length == 3 && ctMethod.getName().equals("do")) {
System.out.println("ps[0].getName==" + ps[0].getName());
ctMethod.setBody("{}");
}
}
//这一步就是将破译完的代码放在桌面上
zzZJJClass.writeFile("C:\\Users\\13373\\Desktop");
} catch (Exception e) {
System.out.println("错误==" + e);
}
}
6.2修改jar包里面的数据
为了不修改原jar包建议复制一份重命名。
1.打开jar包将桌面com文件夹覆盖到jar包com文件夹
2.删除jar包里面的.RSA
和.SF
文件
6.3重新导入修改后的jar包进行测试
FileOutputStream os = new FileOutputStream("C:\\Users\\13373\\Desktop\\work\\demo\\test11.pdf");
InputStream resourceAsStream = Demo.class.getClassLoader().getResourceAsStream("license.xml");
Presentation ppt = new Presentation("C:\\Users\\13373\\Desktop\\work\\1-151212210047\\IT互联网行业工作汇报PPT模板.pptx");
com.aspose.slides.License license = new com.aspose.slides.License();
license.setLicense(resourceAsStream);
ppt.save(os, com.aspose.slides.SaveFormat.Pdf);//设置转换文件类型并转换
os.close();
注:修改的jar要替换原maven引用的jar
已处理好jar下载
无下载积分留言,我私发!!!
Aspose for Java 去除水印和数量限制
https://www.aliyundrive.com/s/VVqoFrHcoR5
提取码: dj78