学习GroupDocs.Merger的简单实践

GroupDocs
placeholder image
admin 发布于:2025-03-23 17:30:02
阅读:loading

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

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

1.基本介绍

本次实践的是GroupDocs.Merger for Java的24.8版本(当前最新版本),通过在 Java 应用程序中合并、拆分、交换、裁剪或删除文档、幻灯片和图表的 API。GroupDocs.Merger for Java允许开发人员合并多个文档并跨多种受支持的文档格式操纵文档结构。Merger API 还允许重新排序或替换文档页面、更改页面方向、管理文档密码等。

(1)在 Java 中轻松合并多个文档。使用 GroupDocs.Merger 在 Java 中将 PDF 和 Office 文件无缝合并为一个文档。凭借广泛的格式支持,您可以无障碍地结合各种文件类型,简化合并过程,提高工作效率。

(2)轻松拆分大型文件,优化文档管理,将大型 PDF 或 Office 文件拆分为更小,更易管理的部分。按特定页面、范围分隔文档,或提取单独的页面。GroupDocs.Merger 简化了文档组织,使您的文件易于处理和访问。

(3)自定义文档结构,全面掌控您的文件,通过重新排序、交换或删除页面完全控制您的文档。凭借使用 GroupDocs.Merger 创建自定义文档结构的灵活性,调整您的文件以满足特定需求。

总的来说,GroupDocs.Merger for Java 是一个非常实用的工具,使得与各种文件格式的无缝操作成为可能,旨在无缝地支持各种操作系统、框架和包管理工具,从而确保满足您的开发需求的灵活性和兼容性。

(1)支持的文档格式:GroupDocs.Merger for Java 使得与各种 文件格式 的无缝操作成为可能。

A.Microsoft Office 格式

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

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

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

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

B.文档和图像

    文档: PDF, XPS, TEX

    图像: BMP, JPEG, PNG, GIF, TIFF, SVG, PS

    OpenDocument: ODT, OTT, ODS

    eBook: EPUB

C.其他格式

    网页: HTML, MHTML, MHT

    归档: ZIP, TAR, RAR, 7Z, BZ2, GZ

    OneNote: ONE

(2)支持的功能如下:使用强大的工具合并、拆分和处理 PDF 和 Office 文档。

    A.合并文件将多个文档合并为一个,并从不同源文件中选择特定页面或页面范围

    B.拆分文档:将文档分解为多个较小的文件,便于管理和组织内容;

    C.移动页面:使用 MovePage 功能重新排序文档,通过将页面移至新位置;

    D.删除页面:使用 RemovePages 功能删除文档中的单独页面或一组特定页面;

    E.旋转页面:使用 RotatePages 功能将文档中的页面旋转 90、180 或 270 度; 

    F.交换页面:通过互换文档中的两页来更改页面的顺序;

    G.提取页面:通过提取特定页面或页面范围,创建仅包含所选页面的新文档;

    H.改变方向:在文档中的特定页面或所有页面之间切换页面方向(纵向和横向);

    I.预览页面:生成文档页面的图像预览,以更好地查看其内容和布局;

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

2.示例实践

以官网提供的Github示例`https://github.com/groupdocs-merger/GroupDocs.Merger-for-Java`为准,上面介绍说GroupDocs.Merger for Java允许开发人员合并多个文档并跨多种受支持的文档格式操纵文档结构。Merger API 还允许重新排序或替换文档页面、更改页面方向、管理文档密码等。本次实践分别从其中挑出几个简单的示例来演示,本次运行了Github Examples示例包下的相关示例代码,主要介绍官方提供的功能为主,过一下示例的功能,详细参考如下:

image.png

(合并两个docx文件-前)

image.png

(合并两个docx文件-后)

合并PPTX-含水印.gif

(合并两个PPTX)

PS:GroupDocs.Merger还包含了类型非常广泛的文档格式处理,参考全部示例运行的文档参考:

image.png



(1)参考在Docx文件中插入Pdf附件代码如下:

public class ImportDocumentToWordProcessing {
    public static void run() throws Exception {
        String filePath = Constants.SAMPLE_DOCX;
        String embeddedFilePath = Constants.SAMPLE_PDF;
        String filePathOut = new File(Constants.OutputPath, "ImportDocumentToWordProcessing-"
                + Paths.get(filePath).getFileName().toString()).getPath();

        int pageNumber = 2;
        OleWordProcessingOptions oleWordsOptions = new OleWordProcessingOptions(embeddedFilePath, pageNumber);
        oleWordsOptions.setWidth(300);
        oleWordsOptions.setHeight(300);

        Merger merger = new Merger(filePath);
        {
            merger.importDocument(oleWordsOptions);
            merger.save(filePathOut);
        }

        System.out.print("Embedded object was added to the source document page successfully.");
        System.out.print("Check output " + filePathOut);
    }
}

(2)参考在Docx文件中插入Pdf附件代码如下:

// 使用GroupDocs.Merger for Java API拆分PDF文件
String filePath = "input.pdf";
String filePathOut = "output.pdf";

// 使用输出文件格式初始化SplitOptions类
SplitOptions splitOptions = new SplitOptions(filePathOut, new int[] { 3, 6, 8 });

// 创建一个包含输入PDF文档的Merger实例
Merger merger = new Merger(filePath);

// 调用split方法并传入SplitOptions对象以生成单独的文件
merger.split(splitOptions);

3.其它说明

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

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

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

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

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

(6)本次使用的GroupDocs.Merger授权方案在以下文件类型中进行了验证:pdf、docx、xlsx、pptx、jpg、psd、vsdx、tar、svg、ost、zip、tar、7z、csv、txt、odg、dwg、html、mhtml、mht、tif等等;

(7)GroupDocs.Merger可以增删改文档的密码;


 点赞


 发表评论

当前回复:作者

 评论列表


留言区