原文中文,约4900字,阅读约需12分钟。
📝
内容提要
某业务需要用户上传盖章后的文件,但手机端上传PDF存在问题。现方案为上传盖章后的图片,但用户觉得不方便且管理困难。提出将上传的图片转换为PDF的方案,并给出了使用PyMuPDF解决问题的代码。
🔎
延伸解读
业务痛点与方案选择
文章描述了一个常见业务场景:用户需在手机端上传盖章文件,但直接上传PDF不便,因此改为上传图片。然而,图片数量多时管理困难,且难以按业务编号归档。作者提出将图片转换为PDF的方案,以解决管理问题。这反映了在移动端文件处理中,格式转换的实际需求。
技术选型的权衡
作者最初考虑使用阿里云OSS的图片转PDF功能,但项目已引入较旧的SDK,引入新SDK需修改现有代码,成本较高。这体现了在技术选型时,需权衡功能需求与现有系统兼容性。最终选择PyMuPDF,因其轻量且无需大幅改动现有代码。
PyMuPDF实现要点
文章提供了使用PyMuPDF将图片转换为PDF的代码示例。核心步骤包括:创建新PDF文档、打开图片获取尺寸、创建同尺寸页面、插入图片并保存。实际业务代码中,还涉及从URL下载图片、批量处理、生成随机文件名及保存到指定目录。依赖PyMuPDFb 1.24.9版本。
❓
Q&A
为什么需要将图片转换为PDF?
因为用户在手机端上传PDF存在问题,上传盖章后的图片不方便且管理困难。
如何使用PyMuPDF将图片转换为PDF?
可以通过创建新的PDF文档,逐个插入图片并保存,具体代码示例已提供。
项目中使用的旧SDK有什么问题?
旧SDK需要修改之前的代码,导致使用新方法时比较麻烦。
PyMuPDF的依赖版本是什么?
依赖的版本是PyMuPDFb == 1.24.9。
OSS提供的图片转PDF方法有什么限制?
OSS提供的方法需要使用较新的SDK,且可能需要修改现有代码。
如何管理上传的盖章图片?
用户可以通过将图片转换为PDF来更方便地管理和识别文件。
🏷️