paint-brush
如何使用 Java 将 PDF 转换为 Word - 免费 PDF 转换器 API经过@compdfkit

如何使用 Java 将 PDF 转换为 Word - 免费 PDF 转换器 API

经过 PDF Technologies5m2024/08/26
Read on Terminal Reader

太長; 讀書

ComPDFKit 支持通过简单的 API 请求准确地将 PDF 转换为 Word,保留文本、页面布局、列、格式、图形等。
featured image - 如何使用 Java 将 PDF 转换为 Word - 免费 PDF 转换器 API
PDF Technologies HackerNoon profile picture


在本文中,您将学习如何使用 ComPDFKit 的PDF 转 Word API在 Java 应用程序中将 PDF 转换为 Word。使用我们的 API,您每月最多可以免费转换1000 个 PDF 文件。您需要做的就是创建一个免费帐户来访问您的 API 密钥。

ComPDFKit API

文档转换只是我们 30 多种PDF API 工具之一。您可以将我们的转换工具与其他工具结合使用,以创建复杂的文档处理工作流程。您将能够将各种文件格式转换为 PDF,以及:


- 合并、拆分、插入、提取和删除特定的 PDF 页面

- OCR、水印或压缩 PDF

- 比较文档(包括内容比较和叠加比较)

请求工作流程

ComPDFKit API 的处理流程非常简单,由四个基本请求指令组成:创建任务、上传文件、执行任务、下载结果文件。通过这四个请求,您可以选择相应的 PDF 工具来处理您的文件,并获取结果文件的下载链接。


ComPDFKit API 请求工作流程


如何将 PDF 转换为 Word


ComPDFKit 支持通过简单的 API 请求将 PDF 准确地转换为 Word,保留文本、页面布局、列、格式、图形等。它还支持识别和提取 PDF 文件中的突出显示、下划线、波浪线和删除线,并在将其转换为 Word 后保留这些注释功能。此外,即使您的 PDF 包含超链接,它也能够在转换后保持链接正常工作。


访问PDF到Word API工具并处理PDF转换的步骤如下:

步骤 1 — 在 ComPDFKit 上创建免费帐户

访问我们的网站,您将看到下面的页面,提示您创建免费帐户。

注册 ComPDFKit API


创建帐户后,您将看到以下页面,其中显示了您的计划详细信息概述。

ComPDFKit API 的仪表板


正如您在仪表板上看到的,您每月可以处理 1000 份文档,并且您将能够访问我们所有的 PDF API 工具。

第 2 步 - 获取用于身份验证的 API 密钥

验证电子邮件后,您可以从仪表板获取 API 密钥。在左侧菜单中,单击 API 密钥。您将看到以下页面,这是密钥的概述:

替代文本:获取用于身份验证的 API 密钥


现在您需要将从控制台获取的publicKeysecretKey认证返回值中的public_keysecret_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 表格识别等。要开始免费试用,请在此处注册