# pdfbox **Repository Path**: ling-hua291/pdfbox ## Basic Information - **Project Name**: pdfbox - **Description**: PDFBox是Java实现的PDF文档协作类库,提供PDF文档的创建、处理以及文档内容提取功能,也包含了一些命令行实用工具 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: trunk - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 35 - **Created**: 2026-10-09 - **Last Updated**: 2026-10-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [![codeql java](https://github.com/apache/pdfbox/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/apache/pdfbox/actions/workflows/codeql-analysis.yml/badge.svg) Apache PDFBox =================================================== [Apache PDFBox](https://pdfbox.apache.org/) 库是一个用于处理 PDF 文档的开源 Java 工具。该项目支持创建新的 PDF 文档、操作现有文档以及从文档中提取内容。PDFBox 还包含多个命令行实用工具。PDFBox 在 Apache License 2.0 版本下发布。 PDFBox 是 [Apache 软件基金会](https://www.apache.org/)的一个项目。 二进制下载 ---------------- 您可以从我们的[下载页面](https://pdfbox.apache.org/download.cgi)下载正在开发中的版本或旧版本的二进制文件。 构建 ----- 您需要 Java 11(或更高版本)和 [Maven 3](https://maven.apache.org/) 来构建 PDFBox。推荐的构建命令是: mvn clean install 默认构建将编译 Java 源代码并将二进制类打包到 jar 包中。有关所有其他可用的构建选项,请参阅 Maven 文档。 贡献 ---------- 有多种方式可以帮助我们改进 PDFBox。 - 查看[问题跟踪器](https://issues.apache.org/jira/browse/PDFBOX)帮助我们修复错误。 - 在我们的[用户邮件列表](https://pdfbox.apache.org/mailinglists.html "订阅邮件列表")上回答问题。 - 帮助我们增强[示例](https://svn.apache.org/repos/asf/pdfbox/trunk/examples/) - 帮助我们增强 [PDFBox 文档](https://gitbox.apache.org/repos/asf/pdfbox-docs)或在 [GitHub](https://github.com/apache/pdfbox-docs)上。 支持 ------- **请遵循我们[支持页面](https://pdfbox.apache.org/support.html)的指南。** 如果您对如何使用 PDFBox 有疑问,请在[用户邮件列表](/mailinglists.html "订阅邮件列表")上提问。这将使您获得整个社区的帮助。 源代码中的 PDFBox 示例和测试代码也将提供额外的信息。 此外,在 [Stack Overflow](https://stackoverflow.com/search?q=pdfbox "Stack Overflow") 等网站上还有其他可用资源。 如果您确定发现了错误,请在我们的[问题跟踪器](https://issues.apache.org/jira/browse/PDFBOX)中报告问题。 已知限制和问题 ------------------------------ 请参阅[问题跟踪器](https://issues.apache.org/jira/browse/PDFBOX)以获取已知问题和功能请求的完整列表。一些更常见的问题包括: 1. 在提取文本时,您得到类似 "G38G43G36G51G5" 的文本而不是您期望的内容。这是因为字符是指向嵌入在 PDF 文档中的字形的无意义内部编码。访问文本的唯一方法是使用 OCR。这可能是未来的增强功能。 2. 您收到类似 `java.io.IOException: Can't handle font width` 的错误消息,这可能是因为您的类路径中没有 **org/apache/pdfbox/resources** 目录。最简单的解决方案是在您的类路径中包含 **apache-pdfbox-x.x.x.jar**。 3. 您得到的文本字符正确,但顺序错误。这可能是因为您没有启用排序。PDF 文件中的文本以块的形式存储,这些块不需要按照在页面上显示的顺序存储。默认情况下,PDFBox 不对文本进行排序。 许可证(另请参阅 [LICENSE.txt](https://github.com/apache/pdfbox/blob/trunk/LICENSE.txt)) ------------------------------ 集体作品:版权所有 2015 The Apache Software Foundation。 根据一个或多个贡献者许可协议授权给 Apache 软件基金会(ASF)。有关版权所有权的其他信息,请参阅与本作品一起分发的 NOTICE 文件。ASF 根据 Apache 许可证 2.0 版本("许可证")向您授权此文件;除非遵守许可证,否则您不得使用此文件。您可以在以下位置获取许可证副本: https://www.apache.org/licenses/LICENSE-2.0 除非适用法律要求或书面同意,否则根据许可证分发的软件是按"原样"分发的,不提供任何明示或暗示的保证或条件。有关许可证下的特定语言管理权限和限制,请参阅许可证。 出口管制 -------------- 本发行版包含加密软件。您当前居住的国家/地区可能对加密软件的进口、拥有、使用和/或再出口到另一个国家/地区有限制。在使用任何加密软件之前,请检查您所在国家/地区有关加密软件进口、拥有、使用和再出口的法律、法规和政策,以确定是否允许这样做。有关更多信息,请参阅 。 美国政府商务部工业和安全局(BIS)已将此软件归类为出口商品控制编号(ECCN)5D002.C.1,其中包括使用或执行非对称算法加密功能的信息安全软件。这种 Apache 软件基金会发行版的形式和方式使其有资格根据许可证例外 ENC 技术软件不受限制(TSU)例外(请参阅 BIS 出口管理条例第 740.13 节)导出目标代码和源代码。 以下提供了有关所包含加密软件的更多详细信息: **Apache PDFBox 使用 Java 加密架构(JCA)和 Bouncy Castle 库来处理 PDF 文档中的加密。**