如何使用 Java 将 PDF 转换为 Word - 免费 PDF 转换器 API
在本文中,您将学习如何使用 ComPDFKit 的 PDF 转Word API在 Java 应用程序中将 PDF 转换为 Word 。使用我们的 API,您每月最多可以免费转换1000 个 PDF 文件。您需要做的就是创建一个免费帐户来访问您的 API 密钥。
ComPDFKit API
文档转换只是我们 30 多种PDF API 工具之一 。您可以将我们的转换工具与其他工具结合使用,以创建复杂的文档处理工作流程。您将能够 将各种文件格式转换 为 PDF,以及:
- 合并、拆分、插入、提取和删除特定的 PDF 页面
- OCR、水印或压缩 PDF
- 比较文档(包括内容比较和叠加比较)
请求工作流程
ComPDFKit API 的处理流程非常简单,由四个基本请求指令组成:创建任务、上传文件、执行任务、下载结果文件。通过这四个请求,您可以选择相应的 PDF 工具来处理您的文件,并获取结果文件的下载链接。
如何将 PDF 转换为 Word
ComPDFKit 支持通过简单的 API 请求将 PDF 准确地转换为 Word,保留文本、页面布局、列、格式、图形等。它还支持识别和提取 PDF 文件中的突出显示、下划线、波浪线和删除线,并在将其转换为 Word 后保留这些注释功能。此外,即使您的 PDF 包含超链接,它也能够在转换后保持链接正常工作。
访问 PDF 到 Word API 工具并处理 PDF 转换的步骤如下:
步骤 1 — 在 ComPDFKit 上创建免费帐户
访问我们的 网站,您将看到下面的页面,提示您创建免费帐户。
创建帐户后,您将看到以下页面,其中显示了您的计划详细信息概述。
正如您在仪表板上看到的,您每月可以处理 1000 份文档,并且您将能够访问我们所有的 PDF API 工具。
第 2 步 - 获取用于身份验证的 API 密钥
验证电子邮件后,您可以从仪表板获取 API 密钥。在左侧菜单中,单击 API 密钥。您将看到以下页面,这是密钥的概述:
现在您需要 将从控制台获取的publicKey 和 secretKey认证返回值 中的 public_key 和 secret_key替换 为 accessToken 。
import java.io.*; import okhttp3.*; public class main { public static void main(String []args) throws IOException{ OkHttpClient client = new OkHttpClient().newBuilder() .build(); MediaType mediaType = MediaType.parse("text/plain"); RequestBody body = RequestBody.create(mediaType, "{\n \"publicKey\": \"{{public_key}}\",\n \"secretKey\": \"{{secret_key}}\"\n}"); Request request = new Request.Builder() .url("https://api-server.compdf.com/server/v1/oauth/token") .method("POST", body) .build(); Response response = client.newCall(request).execute(); } }
第 3 步 - 创建任务
需要替换 上一步获取到的 accessToken ,以及 需要显示错误信息的 语言类型,替换完成后会 在响应数据中获取到taskId 。
import java.io.*; import okhttp3.*; public class main { public static void main(String []args) throws IOException{ OkHttpClient client = new OkHttpClient().newBuilder() .build(); MediaType mediaType = MediaType.parse("text/plain"); RequestBody body = RequestBody.create(mediaType, ""); Request request = new Request.Builder() .url("https://api-server.compdf.com/server/v1/task/pdf/docx?language={{language}}") .method("GET", body) .addHeader("Authorization", "Bearer {{accessToken}}") .build(); Response response = client.newCall(request).execute(); } }
第 4 步 - 上传文件
替换成你需要转换的文件, 上一步获取到的taskId , 你想要显示错误信息的 语言类型,以及 第一步获取到的accessToken 。
import java.io.*; import okhttp3.*; public class main { public static void main(String []args) throws IOException{ OkHttpClient client = new OkHttpClient().newBuilder() .build(); MediaType mediaType = MediaType.parse("text/plain"); RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM) .addFormDataPart("file","{{file}}", RequestBody.create(MediaType.parse("application/octet-stream"), new File(""))) .addFormDataPart("taskId","{{taskId}}") .addFormDataPart("language","{{language}}") .addFormDataPart("password","") .addFormDataPart("parameter","{ \"isFlowLayout\": \"1\", \"isContainImg\": \"1\"}") .build(); Request request = new Request.Builder() .url("https://api-server.compdf.com/server/v1/file/upload") .method("POST", body) .addHeader("Authorization", "Bearer {{accessToken}}") .build(); Response response = client.newCall(request).execute(); } }
第 5 步 - 处理文件
替换掉 你从Create任务中获取到的 taskId ,以及 第一步获取到的 accessToken ,替换掉 你想要显示错误信息的语言类型。
import java.io.*; import okhttp3.*; public class main { public static void main(String []args) throws IOException{ OkHttpClient client = new OkHttpClient().newBuilder() .build(); MediaType mediaType = MediaType.parse("text/plain"); RequestBody body = RequestBody.create(mediaType, ""); Request request = new Request.Builder() .url("https://api-server.compdf.com/server/v1/execute/start?taskId={{taskId}}&language={{language}}") .method("GET", body) .addHeader("Authorization", "Bearer {{accessToken}}") .build(); Response response = client.newCall(request).execute(); } }
第 6 步 - 获取任务信息
将 taskId替换 为您从“创建任务”步骤中获得的 taskId, 将access_token 替换为 您在第一步中获得的access_token 。
import java.io.*; import okhttp3.*; public class main { public static void main(String []args) throws IOException{ OkHttpClient client = new OkHttpClient().newBuilder() .build(); MediaType mediaType = MediaType.parse("text/plain"); RequestBody body = RequestBody.create(mediaType, ""); Request request = new Request.Builder() .url("https://api-server.compdf.com/server/v1/task/taskInfo?taskId={{taskId}}") .method("GET", body) .addHeader("Authorization", "Bearer {{accessToken}}") .build(); Response response = client.newCall(request).execute(); } }
结论
在本文中,您学习了如何使用我们的 Java PDF 转 Word API 轻松无缝地将 PDF 文件转换为适用于您的应用程序的 Word 文件。
您可以将所有这些 PDF 功能集成到您的应用程序或系统中。使用相同的 API 令牌,您还可以执行其他操作,例如拆分或合并 PDF、添加水印、使用 OCR 和 AI 表格识别等。要开始免费试用,请 在此处注册 。