用于 Spring Boot 中 PDF 的缩略图生成微服务

主要观点:本文介绍将 PDF 转换为单个 PNG 图像文件的方法,通过 Spring 微服务实现,包括相关 API 端点、请求和响应对象、所需包、PNG 图像生成服务代码及实现细节等。
关键信息

  • API 端点:@RestControllerDocumentControllercreateThumbnailsForPDF方法,可接收 PDF 文件路径(可为 AWS S3 路径)或原始文件,将 PDF 转换为缩略图并返回响应。
  • 包:添加org.apache.pdfbox:pdfbox-tools:3.0.0net.sf.cssbox:pdf2dom:2.0.1包,用于处理 PDF 文档。
  • PNG 图像生成服务:ThumbnailGeneratorService类的generateThumbnail方法,从 S3 加载 PDF 并转换为缩略图,可选择生成所有页面的缩略图,通过extDocumentService操作 S3,可设置 DPI 控制图像质量,convertToByteArrayResource方法将BufferedImage转换为ByteArrayResource
    重要细节
  • ThumbnailRequestThumbnailResponse类定义了请求和响应的字段。
  • BaseController是通用基础设施类。
  • 服务可返回生成的 PNG S3 文件路径,也可返回包含多个 PNG 文件的 zip 文件。
  • 可渲染除ImageType.RGB外的其他图像类型,如ImageType.GRAY
    结论:利用 Apache PDFBox 包创建的 Spring Boot 微服务可将 PDF 转换为 PNG 缩略图,用于各种用户界面,可通过自定义 DPI 控制图像质量。
阅读 12
0 条评论