手机文章网站源码pc网站建设方案有哪些
- 作者: 五速梦信息网
- 时间: 2026年04月20日 08:28
当前位置: 首页 > news >正文
手机文章网站源码,pc网站建设方案有哪些,蓝色织梦cms企业网站模板全站源码,什么源码做有趣的网站文章目录 前言1、img2pdf库的使用1.1 安装img2pdf库1.2 案例演示#xff08;模板代码#xff09; 2、Pillow库的使用2.1 pillow库的安装2.2 案例演示#xff08;模板代码#xff09; 3、PyMuPDF库的使用3.1 安装pymupdf库3.2 案例演示#xff08;模板代码#xff09;3.3 … 文章目录 前言1、img2pdf库的使用1.1 安装img2pdf库1.2 案例演示模板代码 2、Pillow库的使用2.1 pillow库的安装2.2 案例演示模板代码 3、PyMuPDF库的使用3.1 安装pymupdf库3.2 案例演示模板代码3.3 扩展将多张图片完美拼接到一张pdf页面上没有间隙 前言 在python中将图片转换为pdf格式的方法有多种每种方法依赖于不同的库和工具本篇文章我将介绍三种常用的库包括img2pdf 库 和 pillow库、PyMuPDFfitz库 下面我将通过实际案例教会大家如何使用这三种库同时针对每一种库不同的转换方法准备相应的模板代码让新手小白也能轻松驾驭。 图片准备 可以看到我在下面准备了4张图片后续案例中使用的都是这4张图片 1、img2pdf库的使用 在Python中img2pdf 是一个方便的库用于将图片转换为 PDF 格式。它基于 PillowPIL 的一个分支库并提供了一个简单的接口来完成图片到 PDF 的转换。 1.1 安装img2pdf库 命令pip install img2pdf 1.2 案例演示模板代码 案例演示
1、导入模块
from img2pdf import convert# 2、准备图片路径列表将需要转换的图片路径全部放进一个列表中若只有一张图片同样也将其路径放入列表中即可 image_paths [all_images/01.png, all_images/02.png, all_images/03.png,all_images/04.png]# 3、使用convert函数将图片文件列表转换为 PDF,这里我们直接传递图片文件路径的列表 pdf_bytes convert(image_paths)
注意convert 函数只能接受一个图片文件对象的列表或者一个包含图片文件路径的列表# 3、将转换后的图片保存到指定路径下的pdf文件中
with open(output.pdf, wb) as pdf_file:pdf_file.write(pdf_bytes)print(PDF 文件已成功创建)执行效果 说明 我们可以看到img2pdf库的使用是非常简单的它会将每张图片作为 PDF 文件中的一个独立页面进行添加有多少张图片就会生成多上张pdf页面 2、Pillow库的使用 通过 Pillow 库你可以轻松地将单张或多张图片转换为 PDF 格式。这种方法简单高效适合大多数图片转 PDF 的需求。如果需要更复杂的 PDF 操作如添加文本、表格等可以考虑结合 reportlab 库使用这里我就不详细说明了大家可以自行扩展。 2.1 pillow库的安装 命令pip install Pillow 2.2 案例演示模板代码 案例1将单张图片转换为 PDF
1、导入模块
from PIL import Image# 2、准备图片路径 image_path all_images/01.png# 3、准备输出的 PDF 路径 output_pdf_path output.pdf# 4、打开图片生成图片对象 image Image.open(image_path)# 5、将图片转换为pdf格式并保存至指定路径 image.save(output_pdf_path, PDF, resolution100)参数说明参数1保存路径参数2保存格式参数3resolution该参数用于设置pdf的分辨率不写默认为75print(f图片已成功转换为 PDF: {output_pdf_path})执行效果 案例2将多张图片合并为一个 PDF
1、导入模块
from PIL import Image# 2、准备图片路径列表 image_paths [all_images/01.png, all_images/02.png, all_images/03.png,all_images/04.png]# 3、准备输出的 PDF 路径 output_pdf_path output.pdf# 4、打开所有图片并使用convert函数将其转换为 RGB 模式最后全部存入images列表中 images [Image.open(image).convert(RGB) for image in image_paths]
因为pdf需要RGB格式所以这里需要将其进行转换# 5、将第一张图片保存为 PDF并追加其他图片
images[0].save(output_pdf_path, save_allTrue, append_imagesimages[1:]) # 先将第一张图片保存为pdf文件在通过append_images参数将剩余的图片追加进去参数说明参数1保存路径参数2save_allTrue表示将所有图片都存入一个pdf文件中参数3append_images图片对象列表指定要追加的图片对象列表
print(f多张图片已成功合并为 PDF: {output_pdf_path})执行效果 说明 通过上面的案例我们很轻松的通过pillow库将图片转换为了pdf格式其中参数的使用也非常简单但大家可能会对 resolution 参数 抱有疑问接下来我将针对该参数为大家进行详细说明如下 在使用 Pillow 库将图片转换为 PDF 格式时resolution 参数用于指定输出 PDF 的分辨率DPIDots Per Inch。分辨率决定了图片在 PDF 中的清晰度和尺寸。 resolution 参数的作用 控制图片的清晰度: 分辨率越高图片在 PDF 中显示的细节越清晰。 分辨率越低图片可能会显得模糊或像素化。 影响图片的尺寸: 分辨率越高图片在 PDF 中显示的尺寸越小因为每英寸的像素点更多。 分辨率越低图片在 PDF 中显示的尺寸越大。 默认值: 如果未指定 resolution 参数Pillow 会使用默认的分辨率通常是 72 DPI。
注意事项 图片质量: 分辨率不会改变原始图片的像素数据但会影响其在 PDF 中的显示效果。 如果原始图片的分辨率较低即使设置高 resolution 参数也无法提高其清晰度。 文件大小: 分辨率越高生成的 PDF 文件可能越大。 默认分辨率: 如果不指定 resolution 参数Pillow 会使用默认的 72 DPI。
总结 resolution 参数用于控制图片在 PDF 中的清晰度和显示尺寸。通过调整分辨率可以优化 PDF 的显示效果适应不同的需求如打印或屏幕查看。在实际使用中建议根据具体场景选择合适的分辨率值。
3、PyMuPDF库的使用 PyMuPDFfitz库提供了强大的PDF和图像处理能力它是一个强大的PDF处理库它允许你读取、修改和创建PDF文件。它也支持从图片创建PDF。 3.1 安装pymupdf库 命令pip install pymupdf 3.2 案例演示模板代码 案例1将一张图片转换为pdf格式 方法1
1、导入模块
import fitz# 2、打开一个新的PDF文档 pdf_document fitz.open()# 3、加载图像文件,生成图片对象 image_file fitz.open(all_images/01.png) # 替换为需要转换的图片路径# 4、使用convert_to_pdf函数将图片文件对象转换为pdf格式 image_pdf image_file.convert_to_pdf()# 5、以pdf格式打开转换后的图像生成pdf对象 pdf fitz.open(pdf, image_pdf)# 6、向pdf文档中插入pdf对象 pdf_document.insert_pdf(pdf)# 7、将PDF文档保存至指定路径 pdf_document.save(output.pdf) # 替换为你想要保存的PDF路径# 8、关闭图片文件和pdf文档这两步默认可不写但为了代码规范我们可以加上 image_file.close() pdf_document.close()print(图片已转换为pdf文档)执行效果 方法2
1、导入模块
import fitz# 2、打开一个新的PDF文档 pdf_document fitz.open()# 3、加载图像文件 image_file fitz.open(all_images/01.png) # 替换为你的图像路径# 4、加载图像所在的页面通常是第一页一般图片只有一页 image_page image_file.load_page(0)# 5、获取图像的矩形区域尺寸和位置但这里我们可能只关心尺寸 image_rect image_page.rect print(image_rect) # 返回 Rect(0.0, 0.0, 595.25, 841.75)前两个数字代表图片左上角的坐标后两个数字代表图片右下角的坐标同时也是图片的宽度和高度 方法说明根据下面看两种方法可以得到图片宽度和高度1、image_rect.width获取图片的宽度595.252、image_rect.height获取图片的宽度841.75
6、创建一个新的PDF页面这里我们指定其尺寸与图像相同或根据需要调整
pdf_page pdf_document.new_page(widthimage_rect.width, heightimage_rect.height)参数说明参数1width指定pdf页面的宽度参数2height指定pdf页面的高度
7、在PDF页面上插入图像
注意这里我们假设图像应该覆盖整个页面因此使用pdf_page.rect作为插入区域
pdf_page.insert_image(rectpdf_page.rect, filenameall_images/01.png, streamNone)参数说明参数1rect 指定图片插入的位置通常为pdf页面的矩形区域也可以是图片的矩形区域这里两者相同参数2filename 图片路径指定要插入的图片参数3streamNone默认参数表示允许指定图片以二进制格式插入pdf文档中
8、保存PDF文档
pdf_document.save(output.pdf)# 9、关闭图像文件和pdf文档默认可不写这里为了代码规范我们可以写上 image_file.close() pdf_document.close()print(图片已转换为了pdf文档)执行效果 案例2将多张图片转换为pdf文档
1、导入模块
import fitzdef images_to_pdf(image_paths, output_pdf):# 创建一个新的 PDF 文档pdf_document fitz.open()# 遍历每一个图片路径for image_path in image_paths:# 打开图像文件生成图片对象img fitz.open(image_path)# 选择图片的第一页生成矩形区域用于获取图片的尺寸img_page img.load_page(0).rect# 生成一张与图片大小相同的空白pdf页面 pdf_page pdf_document.new_page(widthimg_page.width, heightimg_page.height) # 根据图像大小设置页面尺寸# 将图像插入到 PDF 页面的指定位置这里插入到页面的左上角# 注意如果图像大小与页面大小不匹配可能需要调整 rect 参数以进行裁剪或缩放pdf_page.insert_image(rectfitz.Rect(0, 0, pdf_page.rect.width, pdf_page.rect.height), filenameimage_path,streamNone)说明rect fitz.Rect(0, 0, pdf_page.rect.width, pdf_page.rect.height) # 通过fitz.Rect方法可以手动调节图片插入的位置前两个数字为图片左上角的坐标后两个数字为图片右下角的坐标这里就是pdf页面的宽度和高度# 关闭图像文件对于 pymupdf这通常是自动处理的但显式关闭是个好习惯img.close()# 保存 PDF 文档pdf_document.save(output_pdf)# 关闭 PDF 文档对于 pymupdf这也通常是自动处理的但显式关闭可以避免潜在的资源泄露pdf_document.close()# 2、准备图片路径列表
image_paths [all_images/01.png, all_images/02.png, all_images/03.png,all_images/04.png] # 替换为要转换的图片路径 # 3、替换为你想要输出的 PDF 文件名
output_pdf output.pdf# 4、调用函数并传入参数
images_to_pdf(image_paths, output_pdf)执行效果
3.3 扩展将多张图片完美拼接到一张pdf页面上没有间隙 通过前面的学习我们已经掌握了三种将图片转换为pdf格式的方法这三种方法都有一个共同点它们会将每一张图片单独生成一张pdf页面有多少张图片就会有多少张pdf页面且每张pdf页面间都会有一段空白的填充区来分隔每张pdf页面但是有时我们需要将多张连贯的图片转换为pdf格式这时若按照原来的方法操作每张图片间就会出现空白部分影响观感所以接下来我会依照这个问题给出解决方法。 问题演示 解决方法模板代码
1、导入模块
import fitzdef images_to_single_pdf_page(image_paths, output_pdf):# 打开一个新的PDF文档pdf_document fitz.open()# 初始化pdf页面总高度和最大宽度total_height 0max_width 0# 遍历所有图片文件以计算总高度和最大宽度垂直拼接for img_file in image_paths:# 打开图片文件生成图片对象img_document fitz.open(img_file)# 选择图片的第1页一般图片都只有1页img_page img_document.load_page(0)# 得到图片的矩形区域用于获取图片的尺寸img_rect img_page.rect# 获取图片的宽度和高度img_width, img_height img_rect.width, img_rect.height# 累加高度并更新最大宽度total_height img_heightif img_width max_width:max_width img_width# 关闭图片文档img_document.close()# 创建一个新的PDF页面大小足以容纳所有图片pdf_page pdf_document.new_page(widthmax_width, heighttotal_height)# 初始化当前y位置用于定义图片左上角的坐标current_y 0# 初始化图片高度用于定义图片右下角的坐标point_height 0# 遍历所有图片文件并在PDF页面上绘制它们不留空白for img_file in image_paths:# 打开图片文件生成图片对象img_document fitz.open(img_file)# 指定图片第一页并形成矩形区域img_page img_document.load_page(0).rect# 累加高度point_height img_page.height# 在PDF页面上绘制图片紧密排列不留空白pdf_page.insert_image(rectfitz.Rect(0,current_y, img_page.width, point_height),filenameimg_file, streamNone)说明这里通过改变current_y 和 point_height 使图片依次垂直拼接在一张pdf页面上(0,current_y)表示每张图片插入pdf页面左上角的坐标(img_page.width, point_height)表示每张图片插入pdf右下角的坐标# 更新当前y位置以放置下一张图片直接跳到下一张图片的起始位置current_y img_page.height# 关闭图片文档img_document.close()# 保存PDF文档至指定位置pdf_document.save(output_pdf)# 关闭PDF文档pdf_document.close()# 2、准备好图片路径列表 image_paths [all_images/01.png, all_images/02.png, all_images/03.png,all_images/04.png] # 替换为要转换的图片路径# 3、替换为你想要输出的PDF文件路径 output_pdf output_all.pdf# 4、调用函数传入参数 images_to_single_pdf_page(image_paths, output_pdf)print(所有图片已全部拼接至一张pdf页面上)执行效果 说明 从上面我们可以看到所有图片在转换为pdf格式后全部拼接在了一张pdf页面上且每张图片间没有空隙。
- 上一篇: 手机维修网站那个公司做的网络系统的价值跟用户数量成
- 下一篇: 手机系统网站网站制作全过程
相关文章
-
手机维修网站那个公司做的网络系统的价值跟用户数量成
手机维修网站那个公司做的网络系统的价值跟用户数量成
- 技术栈
- 2026年04月20日
-
手机微信网站怎么做的好处茂名企业建站模板
手机微信网站怎么做的好处茂名企业建站模板
- 技术栈
- 2026年04月20日
-
手机微网站尺寸网站下载服务器配置
手机微网站尺寸网站下载服务器配置
- 技术栈
- 2026年04月20日
-
手机系统网站网站制作全过程
手机系统网站网站制作全过程
- 技术栈
- 2026年04月20日
-
手机下载视频网站模板怎么做万网网站吗
手机下载视频网站模板怎么做万网网站吗
- 技术栈
- 2026年04月20日
-
手机宣传网站宁波怎么建网站模板
手机宣传网站宁波怎么建网站模板
- 技术栈
- 2026年04月20日
