不开源项目aspose.pdf最新版23.10的一些科普
![placeholder image](/images/user.png)
admin 发布于:2024-07-21 19:27:34
阅读:loading
前面在摸索了Aspose.Cells for Java 23.10(时下最新版)的激(pò)活(jīē)整体上摸索了一些时间和实践了一些示例,接着又对Aspose.Words for Java 23.10版本的激(pò)活(jīē),本来以为会告一段落,这不间隔了半年时间终于又对Aspose.Pdf for Java 23.10版本的科学使用进行了摸索,结果经过一番百科下来,发现这个组件相比Cells和Words的要简单许多,科学使用仍然是坚持不懈的各种尝试和坚持,只为单纯的学习进步,商业软件请勿直接使用于生产环境(购买商业授权)。
关于PDF操作相关的实践本站也有写过基于itext的相关示例,主要是围绕对PDF文档的生成上,至于对PDF文档的读取还真没有读取过,毕竟比较繁琐,而且还面临文档是图片时的问题。本次实现以科学应用为主,跟之前另外两个组件的示例一样,主要是围绕文档格式转换而来,如下:
(1)将HTML文件转换为PDF,包含文本段落与样式效果,共有15页文件内容;
(2)将PDF文件转换为html文件,共有2页内容,下同;
(3)将PDF文件转换为xml文件;
(4)将PDF文件转换为DOC文件;
(5)将PDF文件转换为DOCX文件;
(6)将PDF文件转换为PPTX文件;
(7)将PDF文件转换为XLS文件;
(8)将PDF文件转换为XLSX文件;
(9)将PDF文件转换为CSV文件;
(10)将PDF文件转换为SVG文件;
/**
* 测试aspose.pdf实践
*
* @author chendd
* @date 2024/6/24 22:46
*/
@RunWith(JUnit4.class)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class AsposePdfTest {
@Before
public void before() {
System.out.println("aspose.pdf version:" + BuildVersionInfo.ASSEMBLY_VERSION);
}
/**
* html转换pdf
*/
@Test
public void html2pdf() throws IOException {
String filePath = URLDecoder.decode(Objects.requireNonNull(getClass().getResource("/hello.html")).getFile() , "UTF-8");
File file = new File(filePath);
File folder = file.getParentFile();
try (Document document = new Document(filePath , new HtmlLoadOptions())) {
document.save(new File(folder , "hello.pdf").getPath() , SaveFormat.Pdf);
}
}
/**
* pdf格式转换
*/
@Test
public void pdf2convert() throws IOException {
//转换pdf文件为html格式
pdf2file("/pdf2html-input.pdf", "pdf2html-output.html" , new HtmlSaveOptions());
//转换pdf文件为xml格式
pdf2file("/pdf2xml-input.pdf", "pdf2html-output.xml" , new XmlSaveOptions());
//转换pdf文件为doc格式
pdf2file("/pdf2html-input.pdf", "pdf2doc-output.doc" , new DocSaveOptions());
//转换pdf文件为docx格式
pdf2file("/pdf2html-input.pdf", "pdf2docx-output.docx" , SaveFormat.DocX);
//转换pdf文件为pptx格式
pdf2file("/pdf2html-input.pdf", "pdf2docx-pptx.pptx" , SaveFormat.Pptx);
//转换pdf文件为xls格式
final ExcelSaveOptions excel = new ExcelSaveOptions();
excel.setFormat(ExcelSaveOptions.ExcelFormat.XMLSpreadSheet2003);
pdf2file("/pdf2html-input.pdf", "pdf2xls-output.xls" , excel);
//转换pdf文件为xlsx格式
excel.setFormat(ExcelSaveOptions.ExcelFormat.XLSX);
pdf2file("/pdf2html-input.pdf", "pdf2xlsx-output.xlsx" , excel);
//转换pdf文件为csv格式
excel.setFormat(ExcelSaveOptions.ExcelFormat.CSV);
pdf2file("/pdf2html-input.pdf", "pdf2csv-output.csv" , excel);
//转换pdf文件为svg图片
pdf2file("/pdf2html-input.pdf", "pdf2svg-output.svg" , new SvgSaveOptions());
}
(运行示例工程结构)
(文档输出示例)
(1)`aspose.pdf`不是开源免费的使用,Github上有示例项目,包含了大量的示例以及PDF文件,示例的结果就是生成了一些《Evaluation Warning》警告,并且限定了操作的PDF不能超过4页;
(2)aspose旗下有许多的产品,都是商业付费版本,常见的还有操作word的,与cells一样不开源,需要商业授权使用,单说cells组件支持不同的开发语言,有Java、C++、.NET等等,除了核心组件外也提供了一个web版本,貌似是用作于浏览器在线版本的Excel处理组件,官方地址:https://releases.aspose.com/cells/java/;
(3)该组件最新 Release 版本并不为`aspose-pdf-23.10.jar`,皆是因为最先对其2023年10月14日发布的Cells组件科学应用在先,而后对Words和Pdf的科学使用都基于此版本,整体上版本比较新,就保持一致;
(4)示例与相关文件下载:《源码下载与示例.zip》;
点赞