当前位置: 首页 > news >正文

洛阳网站建设lyland宜州设计公司

洛阳网站建设lyland,宜州设计公司,大连做网站电话,wordpress账号破解版建筑设计公司在项目执行过程中,会产生大量的设计图纸、效果图、实景照片等图片资料。这些资料按照项目名称、阶段、专业等维度存放在多个文件夹和子文件夹中。 操作需求:为了方便内部管理和向客户交付完整的设计方案,公司需要将每个项目文件…

建筑设计公司在项目执行过程中,会产生大量的设计图纸、效果图、实景照片等图片资料。这些资料按照项目名称、阶段、专业等维度存放在多个文件夹和子文件夹中。

操作需求:为了方便内部管理和向客户交付完整的设计方案,公司需要将每个项目文件夹及其子文件夹内的图片分别转换成 PDF 文件。比如,一个大型商业建筑项目,将概念设计阶段的草图、初步设计的效果图、施工图等图片合并成一个完整的 PDF 方案,便于查阅和保存。

以下是一个基于 Python 的解决方案,它可以将多个文件夹里的图片逐个批量转换成多个 PDF 文件,同时支持子文件夹单独合并转换以及子文件夹单独批量转换。

代码实现

python

import os
from PIL import Image
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
from reportlab.lib.utils import ImageReaderdef images_to_pdf(folder_path):# 遍历文件夹及其子文件夹for root, dirs, files in os.walk(folder_path):# 筛选出图片文件image_files = [f for f in files if f.lower().endswith(('.png', '.jpg', '.jpeg'))]if image_files:# 为每个文件夹生成一个 PDF 文件pdf_filename = os.path.join(root, os.path.basename(root) + '.pdf')c = canvas.Canvas(pdf_filename, pagesize=letter)for image_file in image_files:image_path = os.path.join(root, image_file)try:img = Image.open(image_path)width, height = img.sizeaspect_ratio = width / height# 根据页面大小和图片宽高比调整图片尺寸if aspect_ratio > 1:# 宽图new_width = letter[0] - 50new_height = new_width / aspect_ratioelse:# 高图new_height = letter[1] - 50new_width = new_height * aspect_ratiox = (letter[0] - new_width) / 2y = (letter[1] - new_height) / 2c.drawImage(ImageReader(img), x, y, width=new_width, height=new_height)c.showPage()except Exception as e:print(f"Error processing {image_path}: {e}")c.save()if __name__ == "__main__":# 请将此路径替换为你实际存放图片的根文件夹路径root_folder = 'your_image_folder'images_to_pdf(root_folder)

代码解释

  1. 导入必要的库

    • os:用于文件和目录操作,如遍历文件夹和获取文件路径。
    • PIL.Image:用于打开和处理图片。
    • reportlab 相关模块:用于生成 PDF 文件,包括设置页面大小、绘制图片等。
  2. images_to_pdf 函数

    • 使用 os.walk 遍历指定文件夹及其子文件夹。
    • 筛选出每个文件夹中的图片文件(支持 .png.jpg.jpeg 格式)。
    • 为每个包含图片的文件夹生成一个 PDF 文件,文件名与文件夹名相同。
    • 对于每个图片文件,打开并根据页面大小和图片宽高比调整图片尺寸,然后将其绘制到 PDF 的一页上。
    • 处理完一个图片后,调用 c.showPage() 切换到下一页。
    • 最后保存 PDF 文件。
  3. 主程序

    • 指定存放图片的根文件夹路径,调用 images_to_pdf 函数进行转换。

使用方法

  1. 确保你已经安装了 Pillowreportlab 库,可以使用以下命令进行安装:

bash

pip install pillow reportlab
  1. 将代码中的 'your_image_folder' 替换为你实际存放图片的根文件夹路径。

  2. 运行代码,程序会自动遍历指定文件夹及其子文件夹,将每个文件夹中的图片合并成一个 PDF 文件,并保存在相应的文件夹中。

注意事项

  • 代码中仅处理了 .png.jpg.jpeg 格式的图片,如果你需要处理其他格式的图片,可以在筛选条件中添加相应的扩展名。
  • 如果图片文件损坏或无法打开,程序会捕获异常并输出错误信息,但不会影响其他图片的处理。
http://www.yayakq.cn/news/57222/

相关文章:

  • 深圳网站建设高端设计校园网站推广方案怎么做
  • 苏通建设集团有限公司网站wordpress 固定链接插件
  • 布吉网站建设技术托管莱芜话题最新消息
  • 国外服务器做视频网站网站优化升级怎么做
  • 做网站产品搜索展示实现网页制作怎么插视频
  • 重庆做商城网站h5网站制作介绍
  • 阅读小说网站建设用xampp搭建wordpress
  • 如何在网站上添加qq35互联做的网站如何
  • asp.net不适合做网站德州 网站建设
  • 建设网站实验活动小结2018做网站 工具
  • 做汽车价格的网站网站优化
  • 中国建设银行网站e路源码网站 怎么做
  • 公司网站上线流程青岛易龙网站建设
  • 网站建设及维护服务器做招聘求职网站
  • 网站建设与管理好学吗重庆市建设工程信息网项目经理解锁指南
  • 北京手机网站建设外包如何做移动端网站
  • 商盈网站建设网站开发需要用到哪些资料
  • 怎么做动漫小广告视频网站备案号新增网站
  • 建个商场网站企业内网
  • 南昌网站建设公司特色腾讯企点官网
  • 网站技术介绍制作企业网站页面多少钱
  • 青海建设银行的官方网站截止今天全世界新冠病人多少
  • 网站建设 模板网站国外印花图案设计网站
  • 做网站主机中企动力销售陪酒多吗
  • 建设银行官方网站软装设计师培训
  • 广州网站开发多少钱安全标准化建设网站
  • 洛阳集团网站建设wordpress目录遍历漏洞
  • 做英文网站2014全屏的网站
  • 做设计的什么网站能挣钱做陶瓷公司网站
  • 免费收录网站大全电子商务专业论文选题