Java 如何将多个文档合并成一个 PDF

使用 REST API 在 Java 中合并不同类型的文档。

在当今的数字世界中,管理和操作各种文档类型 是许多应用程序的共同要求。文档合并是将多个文档合并为一个文档的过程,从而创建一个包含所有合并文件内容的合并文件。幸运的是,GroupDocs.Merger Cloud SDK for Java 允许开发人员合并各种文件格式,例如 PDF、Word、Excel、PowerPoint 等,从而更轻松地处理和共享信息。在本文中,我们将探索如何使用 GroupDocs.Merger Cloud SDK for Java 将多个文件合并到一个 Java 文档中。

本文应涵盖以下主题:

用于合并多个文档和 SDK 安装的 Java REST API

GroupDocs.Merger Cloud SDK for Java 是一款功能强大且功能丰富的基于云的工具,允许用户毫不费力地将多种文件类型 合并到一个文档中。它允许您合并、提取、交换、拆分、重新排列、删除和更改页面的方向。此外,开发人员可以定义合并顺序、指定页面范围、排除特定页面、根据需要重新排列页面等等。 SDK 易于使用,并提供与 Java 应用程序的无缝集成。

您可以 下载 API 的 JAR 文件或使用 Maven 安装它,方法是将以下存储库和依赖项添加到项目的 pom.xml 文件中:

Maven 存储库:

<repository>
    <id>groupdocs-artifact-repository</id>
    <name>GroupDocs Artifact Repository</name>
    <url>https://repository.groupdocs.cloud/repo</url>
</repository>

Maven 依赖项:

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-merger-cloud</artifactId>
    <version>23.2</version>
    <scope>compile</scope>
</dependency>

现在,在 GroupDocs 网站上注册 免费试用帐户或购买订阅计划获取您的 API 密钥。获得客户端 ID 和客户端密码后,将以下代码片段添加到基于 Java 的应用程序中:


# 注册后从 https://dashboard.groupdocs.cloud 获取你的 client_id 和 client_secret。

String ClientId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
String ClientSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
String MyStorage = "test-internal-storage";
Configuration configuration = new Configuration(ClientId, ClientSecret);

使用 REST API 在 Java 中将多种文件类型合并为一个 PDF

使用 GroupDocs.Merger Cloud SDK 在 Java 中合并多个文档非常简单。请按照以下步骤操作:

  1. 上传文件到云端
  2. 合并 文档到 Java 中的一个 PDF
  3. 下载合并文档

上传文件

首先,使用下面给出的代码示例将文件上传到云端:

package com.groupdocsdev.classes;

import java.io.File;
import com.groupdocs.cloud.merger.client.*;
import com.groupdocs.cloud.merger.model.*;
import com.groupdocs.cloud.merger.model.requests.*;
import com.groupdocs.cloud.merger.api.*;
import com.groupdocs.cloud.merger.client.ApiException;

// 使用Java上传文件到云存储
public class App {

	public static void main(String[] args) {

		FileApi apiInstance = new FileApi(configuration);
		try {
			File fileStream = new File("H:\\groupdocs-cloud-data\\input-sample-file-one.pdf");
			UploadFileRequest request = new UploadFileRequest("java-testing\\input-sample-file-one.pdf", fileStream, MyStorage);
			FilesUploadResult response = apiInstance.uploadFile(request);
			System.out.println("Expected response type is FilesUploadResult: " + response.getUploaded().size());
		} catch (ApiException e) {
			System.err.println("Exception while calling FileApi:");
			e.printStackTrace();
		}
	}
}

因此,上传的文件将在云端仪表板的 文件部分 中可用。

在 Java 中将多个文档合并为一个 PDF

以下是演示如何使用 GroupDocs.Merger Cloud SDK for Java 将多个文件合并到一个文档中的步骤和示例代码片段:

  • 首先,将所需的类导入到您的 Java 文件中。
  • 其次,创建 DocumentApi 类的实例。
  • 第三,创建 FileInfo 类的一个实例。
  • 接下来,调用 setFilePath() 方法并将输入文件路径作为参数传递。
  • 现在提供 PDF 文档的密码。
  • 然后,创建 JoinItem 类的实例。
  • 现在,调用 setFileInfo() 方法并传递 fileInfo1 参数。
  • 接下来,创建 FileInfo 和 JoinItem 类的第二个实例。
  • 接下来,设置输入文件路径和 fileInfo2 参数。
  • 添加更多 JoinItems 以合并两个以上的文档。
  • 之后,创建 JoinOptions() 类的实例。
  • 然后,添加以逗号分隔的已创建连接项列表。
  • 接下来,设置生成的文件路径。
  • 现在,创建 JoinRequest() 类的实例并传递 JoinOptions 参数。
  • 最后,通过调用 DocumentApi 的 join() 方法并传递 JoinRequest 参数,将所有文档合并到一个 PDF 文件中。

以下代码片段显示了如何使用 REST API 在 Java 中将多个文件合并为一个 PDF 文档:

package com.groupdocsdev.classes;

import java.util.Arrays;
import com.groupdocs.cloud.merger.client.*;
import com.groupdocs.cloud.merger.model.*;
import com.groupdocs.cloud.merger.model.requests.*;
import com.groupdocs.cloud.merger.api.*;
import com.groupdocs.cloud.merger.client.ApiException;

// 如何使用 REST API 在 Java 中将文件合并为单个文档
public class App {

	public static void main(String[] args) {

	  // 创建文档 API 的实例
		DocumentApi apiInstance = new DocumentApi(configuration);
	          
    try {
    	
    	// 准备设置
	FileInfo fileInfo1 = new FileInfo();			
	fileInfo1.setFilePath("java-testing/input-sample-file-one.pdf");
	fileInfo1.setPassword("password");
	JoinItem item1 = new JoinItem();
	item1.setFileInfo(fileInfo1);

	FileInfo fileInfo2 = new FileInfo();			
	fileInfo2.setFilePath("java-testing/input-sample-file-two.docx");
	JoinItem item2 = new JoinItem();
	item2.setFileInfo(fileInfo2);

	JoinOptions options = new JoinOptions();
	options.setJoinItems(Arrays.asList(item1, item2));
	options.setOutputPath("java-testing/output-sample-file.pdf");

	JoinRequest request = new JoinRequest(options);

	// 获取输出文件路径。
	DocumentResult response = apiInstance.join(request);
	System.out.println("Output file path: " + response.getPath());

    } catch (ApiException e) {
      System.err.println("Exception while calling Java API: ");
      e.printStackTrace();
    }
		
	}
}

下载文件

上面的代码示例将合并后的文档保存在云端。您可以使用以下代码示例下载它:

package com.groupdocsdev.classes;

import java.io.File;
import com.groupdocs.cloud.merger.client.*;
import com.groupdocs.cloud.merger.model.requests.*;
import com.groupdocs.cloud.merger.api.*;
import com.groupdocs.cloud.merger.client.ApiException;

// 使用 Java 从云存储下载文件
public class App {

	public static void main(String[] args) {

		FileApi apiInstance = new FileApi(configuration);
		try {

			DownloadFileRequest request = new DownloadFileRequest("java-testing\\output-sample-one.pdf", MyStorage, null);
			File response = apiInstance.downloadFile(request);
			System.out.println("Expected response type is downloadFile: " + response.length());
		} catch (ApiException e) {
			System.err.println("Exception while calling FileApi:");
			e.printStackTrace();
		}
	}
}

免费在线文件合并

如何免费在线合并文件?请试用在线文件合并,免费将多个文件合并为一个文件。此在线文档合并是使用上述 Groupdocs.Merger Cloud API 开发的。

结论

总之,GroupDocs.Merger Cloud SDK for Java 是一个强大的工具,可以简化在 Java 中合并不同类型文档的过程。以下是您在本文中学到的内容:

  • 如何使用 Java 在云端将多个文件合并为一个 PDF;
  • 以编程方式上传和下载 Java 中的合并文件;
  • 并使用在线文档合并免费合并不同的文件。

此外,我们还提供了一个 API 参考部分,可让您直接通过浏览器可视化我们的 API 并与之通信。 Java SDK 的完整源代码可在 Github 上免费获得。请查看 GroupDocs.Merger Cloud SDK for Java 此处示例

此外,我们建议您按照我们的入门指南 了解详细步骤和 API 用法。

最后,我们不断撰写有关使用 REST API 的不同文档操作的新博文。因此,请联系以获取最新更新。

问一个问题

如果您对 Online Document Merger API 有任何疑问,请随时在 免费支持论坛 上向我们提问。

常见问题

我可以使用 GroupDocs.Merger Cloud SDK for Java 合并不同格式的文档吗?

是的,GroupDocs.Merger Cloud SDK for Java 支持合并各种格式的文档,包括 PDF、Word、Excel、PowerPoint 等等。

我可以使用 GroupDocs.Merger Cloud SDK for Java 合并受密码保护的文档吗?

是的,GroupDocs.Merger Cloud SDK for Java 提供了一个选项来合并受密码保护的文档,增强了它的安全性。

我可以使用 GroupDocs.Merger Cloud SDK for Java 指定要合并的文档的顺序吗?

是的,GroupDocs.Merger Cloud SDK for Java 允许开发人员指定要合并的文档中的顺序,确保灵活性和对文档合并的控制。

也可以看看

有关相关主题的更多信息,我们建议您查看以下文章: