学习Qoppa jPDFImages的科学实践(九)
Qoppa
admin 发布于:2025-06-12 13:09:11
阅读:loading
Qoppa Software是一家专注于PDF处理和数字文档解决方案的公司,提供丰富的Java、.NET和Web平台的组件。其产品广泛应用于企业、ZF*、金融、医疗等行业,旨在简化PDF和数字文档的处理、管理和集成。特别说明:只为单纯的学习摸索与自我突破,商业软件请勿直接使用于生产环境(购买商业授权)
jPDFImages – Java PDF 图像转换库,用于从 PDF 文件导出图像以及将图像导入 PDF 文件。jPDFImages 可以从 PDF 文档的页面创建图像,并将其导出为 JPEG、TIFF 或 PNG 格式。此外,它还可以将文档中任意页面的图像以 BufferedImage 的形式返回给主机 Java 应用程序,以便进一步处理或保存为其他格式。
jPDFImages 还可以通过导入 TIFF、JPEG 和 PNG 图像来创建文档或向现有文档添加页面。创建或修改文档后,该库可以将其保存到本地文件系统或输出流,以便在 J2EE 服务器中工作时将文档直接提供给客户端浏览器。
jPDFImages 基于 Qoppa 专有的 PDF 技术构建,因此您无需安装任何第三方软件或驱动程序。由于它采用 Java 编写,因此您的应用程序能够独立于平台,在 Windows、Linux、Unix(Solaris、HP UX、IBM AIX)、Mac OS X 以及任何其他支持 Java 运行时环境的平台上运行。
将 PDF 文档页面导出为 JPEG、TIFF 或 PNG 图像
将图像作为新页面导入新的或现有的 PDF
支持 PDF 2.0(最新 PDF 格式)
保存到文件系统或 Java 输出流
适用于 Windows、Linux、Unix 和 Mac OS X(100% Java)
部署应用程序时无需安装或配置额外的驱动程序或软件
public class SampleImages {
public static void main(String[] args) throws Exception {
QoppaRegister.registerJPDFImages();
PDFImages document = null;
try {
document = new PDFImages("resources/input/hello.pdf" , null);
TIFFOptions options = new TIFFOptions(150 , TIFFOptions.TIFF_PACKBITS);
document.saveDocumentAsTIFF("resources/output/jPDFImages_HelloWorld.tif" , options);
document.savePageAsGIF(1 , "resources/output/jPDFImages_HelloWorld.gif" , 150);
document.savePageAsJPEG(1 , "resources/output/jPDFImages_HelloWorld.jpg" , 150 , 1f);
document.savePageAsPNG(1 , "resources/output/jPDFImages_HelloWorld.png" , 150);
document.setWatermark(((graphics2D, i, i1, i2, i3) -> {
graphics2D.rotate(Math.toRadians(45));
graphics2D.setColor(Color.RED);
graphics2D.setFont(new Font("宋体" , Font.BOLD , 64));
graphics2D.drawString("Hello 水印" , 200 , 100);
}));
ImageIO.write(document.getPageImage(2 , 150) , "JPEG" , new File("resources/output/jPDFImages_Watermark.jpg"));
} finally {
if (document != null) {
document.close();
}
}
}
}
(示例输出文件范围)
(科学前输出图片:GIF/JPG/PNG)
(科学前输出图片:TIF)
(科学前输出图片:自定义水印)
(科学后输出图片:GIF/JPG/PNG)
(科学后输出图片:自定义水印)
(1)示例使用了jPDFImages操作PDF文档转换为图片的示例,图片格式有:GIF/JPG/PNG/TIF等;
(2)示例中演示了未科学使用时输出PDF转换为图片就有文档水印;
(3)示例中演示了科学使用后设输出PDF转换为图片没有文档水印;
(4)示例执行后生成的TIF图片格式也是一种特殊的图片格式,可以分为多帧图像,可以翻页查看每一帧的图片内容;
(5)示例执行后生成的常规图片格式:GIF/JPG/PNG均选区了PDF的第2页内容(可以每一页都生成图片);
(6)示例执行后生成了图片自定义水印的功能,包含水印文字的旋转角度、字体大小、颜色等属性;
(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的截图如下:
(7)相关示例输出文件下载:《jPDFImages.zip》;
点赞
发表评论
评论列表
留言区
- 学习Qoppa Software整体介绍(一)
- 学习Qoppa jPDFWriter的科学实践(二)
- 学习Qoppa jPDFWeb的科学实践(三)
- 学习Qoppa jPDFText的科学实践(四)
- 学习Qoppa jPDFSecure的科学实践(五)
- 学习Qoppa jPDFPrint的科学实践(六)
- 学习Qoppa jPDFPreflight的科学实践(七)
- 学习Qoppa jPDFOptimizer的科学实践(八)
- 学习Qoppa jPDFFields的科学实践(十)
- 学习Qoppa jPDFAssemble的科学实践(十一)
- 学习Qoppa jPDFProcess的科学实践(十二)
- 学习Qoppa jOfficeConvert的科学实践(十三)
- 学习Qoppa jPDFViewer的科学实践(十四)
- 学习Qoppa jPDFNotes的科学实践(十五)
- 学习Qoppa jPDFEditor的科学实践(十六)