如何使用 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 。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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 。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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 。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 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 ,替换掉 你想要显示错误信息的语言类型。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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 。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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 表格识别等。要开始免费试用,请 在此处注册 。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结