学习Qoppa jPDFEditor的科学实践(十六)

Qoppa
placeholder image
admin 发布于:2025-06-13 13:21:24
阅读:loading

Qoppa Software是一家专注于PDF处理和数字文档解决方案的公司,提供丰富的Java、.NET和Web平台的组件。其产品广泛应用于企业、ZF*、金融、医疗等行业,旨在简化PDF和数字文档的处理、管理和集成。特别说明:只为单纯的学习摸索与自我突破,商业软件请勿直接使用于生产环境(购买商业授权)

1.基本介绍

jPDFEditor – Java PDF 编辑和修订组件。jPDFEditor 面向开发人员和集成商。对于最终用户,Qoppa Software 提供 PDF Studio,这是一款基于我们同样可靠的 PDF 技术,适用于Mac、Windows 和 Linux 的高级桌面 PDF 编辑器。

显示 PDF 文档并允许您的用户使用 jPDFEditor 审查和编辑 PDF 文档。

jPDFEditor 基于 Qoppa 专有的 PDF 技术构建,无需安装任何客户端或第三方程序。它是一个独立的 Java 组件,可以作为 Java Webstart 应用程序部署到 Java 应用程序或 Web 应用程序中。由于它使用 Java 编写,因此您的应用程序可以保持平台独立性,并可在 Windows、Mac、Linux 和 Unix 上运行。

jPDFEditor 可以从本地或网络驱动器上的文件、URL 以及 Java 输入流(用于运行时生成或来自其他来源(例如数据库)的文档)加载文档。编辑文档后,该库可以将其保存到本地文件,或者主机应用程序可以重写保存函数,将文件保存到本地任何位置或 Web 服务器。

jPDFEditor 支持jPDFNotes中的所有注释和表单填写功能,以及更强大的编辑功能:

  • 内容编辑:内容编辑工具允许用户修改 PDF 文档中的内容:

    (1)复制、删除、编辑、移动文本

    (2)复制、删除、移动、调整图像大小

    (3)复制、删除、编辑、移动、调整形状和路径的大小

    (4)处理单个或多个文本、图像或路径对象

  • 编辑:编辑功能允许用户永久删除 PDF 文档中的敏感信息:

    (1)添加密文注释以覆盖页面上的某个区域。该区域可以包含任何 PDF 对象,例如文本、图像或形状对象。

    (2)“销毁”编辑注释以删除与编辑区域相交的底层内容。

  • 访问 jPDFProcess API:jPDFEditor 与 Qoppa 的 jPDFProcess 库一起打包,提供对丰富 API 的访问以进一步操作 PDF 文档。

2.组件介绍

  • 显示 PDF 文件

  • 打印 PDF 文件

  • 即时将文本和图像文件(gif、png、jpg、tiff)转换为 PDF

  • 填写并保存交互式 PDF 表单

  • 标记 PDF(支持所有 PDF 注释和文本标记)

  • 对 PDF 文件进行数字签名

  • 内容编辑

  • 编辑

  • 可选OCR模块

  • 可选比较模块

  • 访问 jPDFProcess强大的 PDF 操作 API

  • 文本搜索、选择、复制

  • 通过缩略图、书签、注释、签名视图轻松导航

  • 高级工具:缩放、放大镜、快照、平移和缩放

  • 支持最新的 PDF 格式,包括图层

  • 支持所有图像类型:PNG、TIFF、JPEG、JBIG2 和 JPEG 2000

  • 可定制的工具栏和用户界面

  • 支持所有字体类型、所有色彩空间

  • 扫描为 PDF 格式,从扫描创建文档(可选模块)

  • 适用于 Windows、Mac OS X、Linux、Unix(100% Java)

  • 提供英语、法语、德语、意大利语、日语和西班牙语版本

3.代码示例

public class SampleEditor {

    public static void main(String[] args) {
        QoppaRegister.registerJPDFEditor();

        JFrame frame = new JFrame("PDF Editor");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationRelativeTo(null);
        frame.setSize(1050 , 600);

        PDFEditorBean editor = new PDFEditorBean();
        editor.setPage(1);
        editor.setVisible(true);
        frame.getContentPane().add(editor , BorderLayout.CENTER);
        frame.setVisible(true);
    }

}

image.png

(jPDFViewer与jPDFNotes与jPDFEditor对比)

image.png

(编辑PDF文档未科学)

image.png

(预览或编辑PDF已科学)

4.示例说明

(1)示例使用了jPDFEditor预览PDF文档格式的示例,预览PDF的功能有许多,比如:局部放大、窗口导航、选中区域截图等等;

(2)示例使用了jPDFEditor编辑PDF文档格式的示例,编辑PDF的功能有许多,比如:文字更改、圆框涂鸦、批注等等;

(3)示例使用了jPDFEditor比jPDFNotes编辑PDF文档格式的示例多出了“Edit PDF Content”、“Mark for Redaction”;

(4)示例中演示了未科学使用时输出PDF转换为图片就有文档水印;

(5)示例中演示了科学使用后设输出PDF转换为图片没有文档水印;

(6)示例中的PDFNotes继承了PDFViewer,比预览多出了许多功能按钮,主要是注释文档和填写表单等等;

(7)示例中的PDFEditor继承了PDFNotes,比编辑多出了两个功能按钮“Edit PDF Content”、“Mark for Redaction”

(8)示例中的保存不是另存为,保存将会改动原始文档;

(9)编辑PDF文档演示了2处修改,将标题处的“前言”修改为了红色文字的“Hello World”;将“阿里巴巴”修改为了“阿里马马”;

5.其它说明

(1)Qoppa Software推出了15款Java集成开发组件库,,除此之外的其它组件在生成/转换为PDF文档时,应该需要处理文档属性中的“制作工具”;

(2)更多的组件需要使用License注册,使用试用版本将会有对应的试用提示信息,比如插入文字水印、图片中被插入水印、内容中被插入DEMO字样的文本,所以科学使用的目的在于单纯使用对应的工具库,不需额外关注License,又不改动Jar文件中的class,同时又恰好没有水印和文本混乱的限制。特别说明:只为单纯的学习摸索与自我突破,商业软件请勿直接使用于生产环境(购买商业授权)

(3)官网提供了对应各个组件的示例代码和组件库的Jar文件下载,未找到有试用Maven库管理组件的形式,需要自行下载相关的组件;

(4)官网的某些页面资料中也有说明还包含上述产品组件范围之外的其它组件,如:OCR等,没有找到详细的示例使用介绍,不作为本次学习摸索的重点;

(5)官网提供的试用组件的Jar文件中的class有经过加密混淆,从class部分入门则难道比较高,本次对于系列组件的摸索在于科学使用方面,对于组件提供的功能广度与深度应用不作过多的摸索;

(6)对各个组件学习摸索的时间并不算太多,发现这么多组件应该不能同时作用于同一个项目中,因为它们不同的组件Jar中提供的class类文件路径存在同名或同类的,存在互相冲突的场景,不知道是否有说明白,以jPDFWriter与jPDFWeb两个组件Jar的截图如下: 

image

(7)相关示例输出文件下载:《jPDFEditor.zip》;


 点赞


 发表评论

当前回复:作者

 评论列表


留言区