在 Java 中对 PDF 进行转换、打印、处理、签名和浏览

JPedal 是一个 Java PDF 库,可帮助 Java 开发者轻松处理 PDF 文档

使用 JPedal 和几行 Java 代码对 PDF 进行处理

Viewer viewer = new Viewer();
viewer.setupViewer();
viewer.executeCommand(ViewerCommands.OPENFILE, "pdfFile.pdf");
ConvertPagesToImages.writeAllPagesAsImagesToDir("inputFileOrDir", "outputDir", "bmp", 1.33f);
ExtractTextAsWordList.writeAllWordlistsToDir("inputFileOrDirectory", "outputDir", -1);
ArrayList<Float[]> resultsForPages = FindTextInRectangle.findTextOnAllPages("/path/to/file.pdf", "textToFind");
PrintPdfPages print = new PrintPdfPages("C:/pdfs/mypdf.pdf");

if (print.openPDFFile()) {
    print.printAllPages("Printer Name");
}
final PdfUtilities utilities = new PdfUtilities("path/to/exampleFile.pdf");

try {
    if (utilities.openPDFFile()) {
        // Returns a String containing all metadata fields for the document
        final String documentPropertiesAsXML = utilities.getDocumentPropertyFieldsInXML();

        // Returns the total page count as an int
        final int totalPageCount = utilities.getPageCount();

        for (int i = 1; i != totalPageCount; i++) {
            // Get the page dimensions for the specified page in the given units and type
            final float[] pageDimensions = utilities.getPageDimensions(i, PdfUtilities.PageUnits.Pixels, PdfUtilities.PageSizeType.CropBox);

            // Returns the image data as a String for the specified page
            final String xImageDataForPage = utilities.getXImageDataForPage(i);
        }
    }
}
catch (final PdfException e) {
    e.printStackTrace();
}
utilities.closePDFfile();
WritableAnnotation[] annotations = new WritableAnnotation[2];
annotations[0] = new SquareAnnotation(1, 10, 10, 100, 100);
annotations[1] = new CircleAnnotation(2, 10, 10, 100, 100);
AnnotationWriter.writeAnnotations(inputFile, outputFile, annotation);
ExtractClippedImages.writeAllClippedImagesToDir("inputFileOrDirectory", "outputDir", "outputImageFormat", new String[] {"imageHeightAsFloat", "subDirectoryForHeight"});

开发者使用 JPedal 解决哪些问题?

JPedal 大大简化了在 Java 中处理 PDF 文件的过程。针对常见任务,开发者只需复制粘贴几行代码即可解决。由于我们已持续开发该软件超过 20 年,JPedal可以很好地处理各种有问题的 PDF 文件。

将 PDF 转换为图像或缩略图

JPedal 提供了一个完全自动化的解决方案,可以 将 PDF 转换为任意尺寸的图像,并支持多种图像文件格式。

了解如何操作
阅读 PDF 文档

JPedal 的 Java Swing PDF 阅读器轻松实现了多页显示、搜索、打印和编辑注释等功能。

了解如何操作
打印 PDF 文档

JPedal 完全支持 Java 中的打印服务,并且可以在服务器上安装的的任何打印机上打印 PDF(只要服务器使用了 Java 17 或更高版本)。

了解如何操作
从 PDF 中提取图像和文本

JPedal 可以从 PDF 文件中提取图像文本,并且还提供了全面的在 PDF 文档内进行文本搜索的功能。

了解如何操作
访问 PDF 文档数据

JPedal 使访问元数据(文档属性、页面大小、大纲、页面数量)以及PDF 表单变得更加简单。

了解如何操作
将结构化 PDF 转换为 XML/HTML

JPedal 可以从结构化 PDF 文件中提取文本和图像,生成可重排的 HTML 或带标签的 XML。

了解如何操作
合并/拆分 PDF 文档

JPedal 可以在 PDF 文档里删除页面,并且还支持合并或拆分现有文档。

了解如何操作
修复不良的 PDF 文件

JPedal 配备了一个优化工具,可以删除未使用的页面,并修复在损坏或创建不良的 PDF 文件中发现的许多问题。

了解如何操作
在 PDF 文档上进行数字签名

仅靠 JPedal ,您就可以对 PDF 文件进行数字签名(无需外部调用或使用任何第三方库)。

了解如何操作

哪些企业在用 JPedal?

Adobe logo
Jive logo
Interwork logo
Abacus logo
IText logo
DigiSigner logo
Stampli logo
Versitech logo

其他开发者怎么看?

阅读器:暗色模式

Adobe Reader

Adobe 的阅读器,里面显示着一个 PDF 文件

JPedal Viewer

JPedal 的阅读器,里面显示着一个 PDF 文件

关键优势

性能和可靠性

JPedal 通常比其他替代方案快 3 倍,并且进行过许多优化,以提高性能并减少内存占用。

简便的设置与集成

JPedal 提供了大量的示例代码和 API,便于轻松集成到您的代码中。通常只需要复制粘贴 2-3 行代码,您就可以将功能添加到程序中。

简单的许可条款

您可以按一次性付费的方式,在服务器或 OEM 许可基础上使用 JPedal。我们还提供可选的年度技术支持和访问续订服务。我们在网站上公开了价格

高级支持

我们的 JPedal 开发团队通过电子邮件或在线门户提供快速而直接的支持。

支持现代 Java 版本

JPedal 最低支持 Java 17,同时也利用了 Java 的多版本 JAR 功能,兼容更新版本。

公开源代码

JPedal OEM 客户可以获得完整的 JPedal 源代码以及二进制 JAR 文件。

不使用第三方库

JPedal 不使用任何第三方 Java 库,因此不会受到其他软件安全漏洞的影响。

本地或云端运行

您可以在服务器上运行 JPedal(需要联网,您也可以将其设置在云服务器上。

定期发布

我们每天都会对 JPedal 进行构建从而修复关键问题并进行测试,每 6 周发布一次新的稳定版本。

为什么选择 JPedal?

1.

定期更新的企业级 Java PDF 库,提供完整的技术支持且不存在依赖第三方库的问题。

2.

处理 PDF 文件的速度比其他 Java PDF 库快最多 3 倍。

3.

简单的许可证选项,并为 OEM 用户公开源代码。

免费试用 JPedal