pdf保存为img

简介: 【9月更文挑战第06天】

-- coding: utf-8 --

import os
import fitz
import PyPDF2
import aspose.pdf as ap

--------------------------------------通过转换图片实现压缩------------------------------------

def convert_img(path1, dpi, work_path):
file = fitz.open(path1)
page_count = file.page_count
if os.path.exists(work_path): # 临时文件夹,需要为空
os.removedirs(work_path)
os.mkdir(work_path)
for i in range(page_count):
page = file[i]
dpi = int(dpi) # 值越大,分辨率越高,文件越清晰
rotate = int(0)
print(page)
trans = fitz.Matrix(dpi / 100.0, dpi / 100.0).prerotate(rotate)
pm = page.get_pixmap(matrix=trans, alpha=False)
img_path = work_path + '/%s.jpg' % str(i + 1)
pm.save(img_path) # 保存为图像文件
file.close()

def img_for_pdf(path1, path2, work_path):
file1 = fitz.open(path1)
page_count = file1.page_count
file2 = fitz.open()
for i in range(page_count):
img_path = work_path + '/%s.jpg' % str(i + 1)
img = fitz.open(img_path) # 打开图片
pdf = img.convert_to_pdf() # 使用图片创建单页的PDF
os.remove(img_path)
pdf_temp = fitz.open("pdf", pdf)
file2.insert_pdf(pdf_temp) # 将当前页插入文档
if os.path.exists(path2): # 若文件存在先删除
os.remove(path2)
file2.save(path2) # 保存PDF文件
file2.close()

def Compress_by_img(path1, path2, dpi, work_path):
"""
:param path1: 需要压缩的pdf文件路径
:param path2: 保存的pdf文件路径
:param dpi: 分辨率
:param work_path: 临时工作路径
:return: None
无水印,效果较好!
"""
convert_img(path1, dpi, work_path)
img_for_pdf(path1, path2, work_path)
os.removedirs(work_path)

if name == "main":
url = "D:\BaiduNetdiskDownload\Download\dd.pdf"
work_path1 = r'D:\BaiduNetdiskDownload\Download.pdf'
in_path = r"D:/BaiduNetdiskDownload/Download/dd.pdf" # 需要压缩的PDF文件
out_path = r"D:\BaiduNetdiskDownload\Download\11.pdf" # 压缩后的PDF文件路径
zoom = 1500 # 清晰度调节,缩放比率
Compress_by_img(in_path, out_path, zoom, work_path1)

目录
打赏
0
6
6
0
1190
分享
相关文章
Vue~在线预览doc、docx、pdf、img文件
Vue~在线预览doc、docx、pdf、img文件
6528 0
OCRmyPDF:16.5K Star!快速将 PDF 文件转换为可搜索、可复制的文档的命令行工具
OCRmyPDF 是一款开源命令行工具,专为将扫描的 PDF 文件转换为可搜索、可复制的文档。支持多语言、图像优化和多核处理。
235 17
OCRmyPDF:16.5K Star!快速将 PDF 文件转换为可搜索、可复制的文档的命令行工具
【全自动改PDF名】批量OCR识别提取PDF自定义指定区域内容保存到 Excel 以及根据PDF文件内容的标题来批量重命名
学校和教育机构常需处理成绩单、报名表等PDF文件。通过OCR技术,可自动提取学生信息并录入Excel,便于统计分析和存档管理。本文介绍使用阿里云服务实现批量OCR识别、内容提取、重命名及导出表格的完整步骤,包括开通相关服务、编写代码、部署函数计算和设置自动化触发器等。提供Python示例代码和详细操作指南,帮助用户高效处理PDF文件。 链接: - 百度网盘:[链接](https://pan.baidu.com/s/1mWsg7mDZq2pZ8xdKzdn5Hg?pwd=8866) - 腾讯网盘:[链接](https://share.weiyun.com/a77jklXK)
53 5
【图片型PDF】批量识别扫描件PDF指定区域局部位置内容,将识别内容导出Excel表格或批量改名文件,基于阿里云OCR对图片型PDF识别改名案例实现
在医疗和政务等领域,图片型PDF文件(如病历、报告、公文扫描件)的处理需求广泛。通过OCR技术识别这些文件中的文字信息,提取关键内容并保存为表格,极大提高了信息管理和利用效率。本文介绍一款工具——咕嘎批量OCR系统,帮助用户快速处理图片型PDF文件,支持区域识别、内容提取、导出表格及批量改名等功能。下载工具后,按步骤选择处理模式、进行区域采样、批量处理文件,几分钟内即可高效完成数百个文件的处理。
127 8
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
Zerox 是一款开源的本地化高精度OCR工具,基于GPT-4o-mini模型,支持PDF、DOCX、图片等多种格式文件,能够零样本识别复杂布局文档,输出Markdown格式结果。
177 4
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
MarkItDown:微软开源的多格式转Markdown工具,支持将PDF、Word、图像和音频等文件转换为Markdown格式
MarkItDown 是微软开源的多功能文档转换工具,支持将 PDF、PPT、Word、Excel、图像、音频等多种格式的文件转换为 Markdown 格式,具备 OCR 文字识别、语音转文字和元数据提取等功能。
480 9
MarkItDown:微软开源的多格式转Markdown工具,支持将PDF、Word、图像和音频等文件转换为Markdown格式
|
3月前
|
jquery图片和pdf文件预览插件
EZView.js是一款jquery图片和pdf文件预览插件。EZView.js可以为图片和pdf格式文件生成在线预览效果。支持的文件格式有pdf、jpg、 png、jpeg、gif。
102 16
将word文档转换成pdf文件方法
在Java中,将Word文档转换为PDF文件可采用多种方法:1) 使用Apache POI和iText库,适合处理基本转换需求;2) Aspose.Words for Java,提供更高级的功能和性能;3) 利用LibreOffice命令行工具,适用于需要开源解决方案的场景。每种方法都有其适用范围,可根据具体需求选择。
Java将word文档转换成pdf文件的方法?
【10月更文挑战第13天】Java将word文档转换成pdf文件的方法?
1472 1
PDF文件页面提取操作小指南
PDF文件页面提取操作小指南
139 4

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等