学习GroupDocs.Conversion的简单实践

GroupDocsGroupDocs.Conversion
placeholder image
admin 发布于:2025-03-23 15:44:07
阅读:loading

前面在摸索了Aspose For Java的全量产品组件共计23款,闲来无事偶然又发现了在GroupDocs方向又存在一些产品,这些产品基本都是取自于一个又一个的组件,取自所有组件中的一个方向进行汇总,组成一个统一的产品包。本次摸索学习GroupDocs.Redaction产品,经过一些持续的分析和摸索,结合使用反射的形式来调用,也就是说在API的使用前进行一次特殊的代码注册,即可实现授权,全程不需要License之类的xml,或是文档无水印、或是文档页数限制、或是获取内容无限制,等等。

特别说明:只为单纯的学习摸索与自我突破,商业软件请勿直接使用于生产环境(购买商业授权)

1.基本介绍

本次实践的是GroupDocs.Conversion for Java的24.9版本(当前最新版本),通过 Java API 进行文档转换,强大的转换 API,可转换 PDF、Microsoft Office、HTML、电子书和图像文件,可以帮助你把各种文件格式转换成你需要的各种格式。例如,你可以将 Word 文档转换为 PDF,或者将图片转换为 Word 文档,它就像是一个万能的文件翻译器,这个工具可以帮助你把文件转换成他们能打开的格式,确保每个人都能看到文件内容。

它提供了简单的编程接口,让开发者可以很容易地把这个功能添加到自己的应用程序中。即使你不是开发者,也可以找到一些现成的解决方案来使用它。这个工具会尽可能保持你原文件的样式和内容,让你的转换结果看起来和原文件一样。不论是在办公室处理文件,还是在学校进行作业,或者开发软件时需要文件转换,GroupDocs.Conversion 都可以派上用场,它还能确保在转换文件的同时保护你的隐私和文件安全。

总的来说,GroupDocs.Conversion 是一个非常实用的工具,适合需要频繁处理文件转换的个人和企业。如果你需要将文件从一种格式转为另一种格式,这个工具会让你省去很多麻烦。

(1)支持的文档格式:

A.文档格式

    Documents: PDF, XPS, TEX

    Word: DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, TXT

    PowerPoint: PPT, PPTX, PPS, PPSX, ODP, OTP

    Excel: XLS, XLSX, XLSM, XLSB, XLTM, XLTX, XLT, XLAM

    Visio: VSDX, VSDM, VSSX, VSTX, VSTM, VSSM, VSX, VTX, VDX

    OpenDocument: ODT, OTT, ODS

B.图像与多媒体

    Images: BMP, JPEG, PNG, GIF, TIFF, SVG, PS

    Diagram: VSDX, DRAW, LUCIDCHART

    CAD & GIS: DWG, DXF, DWF, IFC, SHP, KML, GEOJSON

    Audio: MP3, WAV, FLAC, AAC, OGG

    Video: MP4, AVI, MKV, MOV, WMV

    3D & Vector: SVG, AI, EPS, CDR, STL, OBJ, FBX, DAE, GLB

C.其他格式

    eBook: EPUB, MOBI, AZW, FB2

    Web: HTML, MHTML, MHT

    Archives: ZIP, TAR, RAR, 7Z, BZ2, GZ

    Email & Outlook: PST, OST, MSG, EML

    Finance: QFX, OFX

    OneNote: ONE

(2)支持的功能如下:

    A.多格式转换:轻松在各种格式之间转换文件,包括 PDF、DOCX、XLSX、PPTX 等;

    B.高保真输出:在转换过程中保留文档的原始质量和格式;

    C.转换多个文件:转换多个文件并将它们组合成一个存档,从而简化转换内容的组织;

    D.多页文档到图像:将多页文档逐页转换为图像,从而能够精确控制转换过程并促进基于图像的文档提取和分析;

    E.可定制的设置:微调分辨率、质量和布局等转换参数以满足特定要求;

    F.安全处理:通过受密码保护的文件转换选项确保数据隐私;

    G.API集成:将转换功能无缝集成到您的 Java 应用程序中,使其成为您工作流程的无缝组成部分;

    H.稳健的转换:确保可靠且无错误的文件转换,保证转换后文档的准确性和完整性;

    I.转换档案(压缩包)中的文档:从档案中提取并转换文档,从而能够转换压缩文件中存储的内容;

上面这一段摘自官网的介绍,整体上觉得很抽象,运行示例项目中相关的例子后我理解的意思:GroupDocs.Conversion是一个文档类型转换的开发工具包,旨在帮助开发人员在其应用程序中实现对多种不同文档格式之间互转的功能,是一个强大的文档格式转换解决方案

2.示例实践

以官网提供的Github示例`https://github.com/groupdocs-conversion/GroupDocs.Conversion-for-Java`为准,上面介绍说GroupDocs.Conversion for Java 是一个文档转换库,旨在在50 多种类型的文档和图像之间来回转换,包括所有 Microsoft Office 和 OpenDocument 文件格式、PDF 文档、HTML、CAD、光栅图像(TIFF、JPEG、GIF、PNG、BMP)等。本次摸索只是简单的示例实践,分别从其中挑出几个简单的示例来演示,本次运行了Github Examples示例包下的相关示例代码,主要介绍官方提供的功能为主,过一下示例的功能,详细参考如下:


image.png

(Word转换PDF)

image.png

(Word转HTML)

image.png

(PDF转换JPG/PNG/PSD)

image.png

(所有源文件与转换后的目标文件)

参考eml文件转换pdf文件代码如下:

public class ConvertEmailWithTimezoneOffset {
    public static void run() throws IOException {
        List<OutputStream> streamPool = new ArrayList<>();
        String convertedFile = Constants.getConvertedPath("ConvertEmailWithTimezoneOffset-%d.pdf");
        EmailLoadOptions loadOptions = new EmailLoadOptions();
        loadOptions.setTimeZoneOffset(7200000.0);
        Converter converter = new Converter(Constants.SAMPLE_EML, () -> loadOptions);
        PdfConvertOptions options = new PdfConvertOptions();
        try {
            converter.convert((SaveDocumentStreamForFileType) t -> {
                OutputStream outputStream;
                try {
                    outputStream = Files.newOutputStream(Paths.get(String.format(convertedFile, streamPool.size())));
                    streamPool.add(outputStream);
                    return outputStream;
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }, options);
        } finally {
            for (OutputStream outputStream: streamPool) {
                if (outputStream != null) {
                    outputStream.close();
                }
            }
        }
        System.out.print("\nEmail document converted successfully. \nCheck output in " + convertedFile);
    }
}

3.其它说明

(1)`GroupDocx.xxx`不是开源免费的使用,Github上有示例项目,包含了大量的示例,示例的结果就是生成了一些《Evaluation Warning》警告、水印、内容页数限制、内容文本限制等;

(2)aspose旗下有许多的产品,都是商业付费版本,常见于各种文档格式文件的操作,都需要商业授权使用,也基本都是支持多种编程语言的,如有Java、C++、.NET等等,官网也有多种在线示例;

(3)示例与相关文件下载:《GroupDocs.Conversion示例相关下载.zip》,注:下载并不包含具体的科学实现部分,只是源文件与示例输出文件;

(4)科学实现分为两种情况,一种是使用反射,另一种是使用License.xml文件;

(5)aspose相关的各个产品组件为独立存在的各个产品,GroupDocs是提取全集产品中的某个功能的集合,提供了一个大类的功能操作,并且统一对外提供API;

(6)本次使用的GroupDocs.Conversion授权方案在以下文件类型中进行了验证:pdf、docx、xlsx、pptx、jpg、psd、vsdx、eml、msg、ost、zip、mpp、one、csv、txt、odg、dwg等等;


 点赞


 发表评论

当前回复:作者

 评论列表


留言区