不开源项目aspose.pdf最新版23.10的一些科普


placeholder image
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的要简单许多,科学使用仍然是坚持不懈的各种尝试和坚持,只为单纯的学习进步,商业软件请勿直接使用于生产环境(购买商业授权)

1.基本介绍

关于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文件

2.示例代码

/**
 * 测试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());
    }

3.运行示例

image.png

(运行示例工程结构)

image.png

(文档输出示例)

4.其它说明

(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》;


 点赞


 发表评论

当前回复:作者

 评论列表


留言区