PDF 文件是互联网上广泛使用的数据和信息共享格式之一。但是,有时他们使用自定义字体来处理内容,结果文件的大小可能会增加。此外,我们可能需要提取文本内容进行进一步处理,因此在这种情况下,将 PDF 转换为文本是可行的解决方案之一。在本文中,我们将详细讨论如何将 PDF 转换为 TXT 格式。
PDF 到文本转换 API
Aspose.Words Cloud SDK for Java 是领先的 Word 文档处理解决方案。这是一个了不起的解决方案,提供了创建、编辑各种文件并将其转换为 DOC、HTML、JPEG 和各种其他支持的格式 的功能。除了Word文档,它还提供了加载PDF文件并保存输出到TXT、HTML、XPS、TIFF等文件的支持。现在在为了使用 SDK,请将以下详细信息添加到您的 Maven 构建类型的 pom.xml 中。
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.cloud/repo/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words-cloud</artifactId>
<version>22.5.0</version>
</dependency>
</dependencies>
现在我们需要通过访问 Aspose.Cloud dashboard 创建一个免费帐户。只需使用您现有的 GitHub 或 Google 帐户注册,或单击 创建新帐户 按钮。
在 Java 中将 PDF 转换为 TXT
请按照以下说明使用 Java 代码片段完成您的要求。
- 首先,使用 Client ID 和 Client Secret 作为参数创建 WordsApi 对象
- 其次,使用 File 对象从本地驱动器读取 PDF 文件内容
- 第三,使用 UploadFileRequest 实例读取 PDF 文件的内容
- 下一步是调用 uploadFile(…) 方法将 PDF 上传到云存储
- 现在,创建一个 GetDocumentWithFormatRequest(…) 对象,我们将输出格式指定为 TXT 格式
- 最后,调用方法 getDocumentWithFormat(…) 将 PDF 转换为文本并将输出保存在云存储中。
// 有关更多示例,请访问 https://github.com/aspose-words-cloud/aspose-words-cloud-java
try
{
// 从 https://dashboard.aspose.cloud/ 获取 ClientID 和 ClientSecret
String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
// 创建 WordsApi 对象
// 如果 baseUrl 为 null,WordsApi 使用默认的 https://api.aspose.cloud
WordsApi wordsApi = new WordsApi(clientId, clientSecret, null);
// 从本地驱动器读取 PDF 的内容
File file = new File("c://input.pdf");
// 创建文件上传请求
UploadFileRequest uploadRequest = new UploadFileRequest(Files.readAllBytes(file.toPath()), "input.pdf", null);
// 上传文件到云存储
wordsApi.uploadFile(uploadRequest);
// 创建文档转换请求对象
GetDocumentWithFormatRequest request = new GetDocumentWithFormatRequest("input.pdf", "PDF", "", "Internal","", "", "", "extracted.txt","");
// 调用API在线将PDF转文本
wordsApi.getDocumentWithFormat(request);
System.out.println("PDF to TXT Conversion sucessfull !");
}catch(Exception ex)
{
System.out.println(ex);
}
请使用以下代码片段从本地驱动器加载 PDF 并保存为 TXT 格式。转换后,生成的文件保存在云存储中。
- 首先,使用 Client ID 和 Client Secret 作为参数创建 WordsApi 对象
- 其次,使用 File 对象从本地驱动器读取 PDF 文件内容
- 第三,创建一个 ConvertDocumentRequest(…) 的对象,我们在其中提供 File 对象的参数、TXT 作为结果格式和结果 TXT 文件的输出路径
- 最后,调用方法 convertDocument(…) 将 PDF 转换为文本并将输出保存在云存储中
// 有关更多示例,请访问 https://github.com/aspose-words-cloud/aspose-words-cloud-java
try
{
// 从 https://dashboard.aspose.cloud/ 获取 ClientID 和 ClientSecret
String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
// 创建 WordsApi 对象
// 如果 baseUrl 为 null,WordsApi 使用默认的 https://api.aspose.cloud
WordsApi wordsApi = new WordsApi(clientId, clientSecret, null);
// 从本地驱动器读取 PDF 的内容
File file = new File("c://input.pdf");
// 创建文档转换请求对象
ConvertDocumentRequest request = new ConvertDocumentRequest(Files.readAllBytes(file.toPath()), "TXT", "Extracted.txt", null, null, null);
// 调用 API 将 PDF 转换为文本格式
wordsApi.convertDocument(request);
System.out.println("PDF to TXT Conversion sucessfull !");
}catch(Exception ex)
{
System.out.println(ex);
}
使用 cURL 命令将 PDF 转为 TXT
在本节中,我们将使用 cURL 命令执行 PDF 到文本的转换。现在作为先决条件,我们需要使用以下命令基于客户端凭据生成 JWT 访问令牌。
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bbf94a2c-6d7e-4020-b4d2-b9809741374e&client_secret=1c9379bb7d701c26cc87e741a29987bb" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
现在请执行以下命令将 PDF 文件上传到云存储。
curl -v -X PUT "https://api.aspose.cloud/v4.0/words/storage/file/input.pdf" \
-H "accept: application/json" \
-H "Authorization: Bearer <JWT Token>" \
-H "Content-Type: multipart/form-data" \
-d {"fileContent":{}}
最后,执行以下命令将 PDF 转换为文本格式。
curl -v -X GET "https://api.aspose.cloud/v4.0/words/Quick%20Start%20Guide-%20Inventory%20Software%20Suite.pdf?format=TXT&outPath=extracted.txt" \
-H "accept: application/octet-stream" \
-H "Authorization: Bearer <JWT Token>"
结论
本文解释了使用 Java 代码片段将 PDF 转换为文本的详细信息。同样,我们也学习了使用 cURL 命令将 PDF 转换为 TXT 的步骤。为了更好地学习,您可以在 Web 浏览器中使用 Swagger UI 探索 API。
如果您有任何相关疑问或遇到任何问题,请随时通过免费 技术支持论坛 与我们联系。
相关文章
我们强烈建议您阅读以下文章以了解更多信息: