用python 制作图片转pdf工具

用python 制作图片转pdf工具
最近因为想要看漫画,无奈下载的漫画是jpg的格式,网上的转换器还没一个好用的,于是乎就打算用python自己DIY一下:
这里主要用了reportlab。开始打算随便写几行,结果为若干坑纠结了挺久,于是乎就想想干脆把代码写好点吧。
实现了以下的几项功能:
将当前文件夹下的图片保存到一个pdf中,支持选择pdf大小等
如果有需要可以遍历它下面的所有文件夹
简单的来说完全满足我将漫画转成pdf格式的需求了。
碰到了一些问题,这里记录下:
一、中文路径:
这个实在是略蛋疼,总之就是尽量都decode一遍。然后注意win下的路径是\,要将其转化成/。然后路径遍历的时候也要注意路径怎么写的。
二、reportlab使用
这个说实话很简单,因为没考虑加点文字什么的其实就一句代码了
复制代码 代码如下:
c.drawImage(filelist[i] , 0,0,maxw,maxh)
注意文件名也要各种decode啊。
总之借助强大的python有效代码就30行左右吧,代码地址
三、pyInstall的打包问题
开始是打算用py2exe结果打算接个简单的gui(真的是很简单)就开始跟我各种错,改的差不多想整成一个exe的时候有给我来个64bit not support。然后就转投pyInstall了,不过事情远不是那么顺利,如果用的是2.1版的话你会发现又有个巨大的bug--打包出来的exe居然不能放在中文路径下,于是乎各种找解决方案,然后发现了两种解决途径,一种是有个修改的版本(http://github.com/dkw72n/pyinstaller.git),另一种是选择2.0版。这个解决之后感觉这个比py2exe好多了,强烈推荐!
简单说下使用过程:
首先是安装:
1、下载安装pywin32;
2、下载pyInstall2.0版本(我觉得这样最好)
3、下载upx然后将文件夹中的upx.exe移动到pyInstall文件夹中
这样就完成了,连安装都不用(当然你安装也行。。。)
使用的话就是
复制代码 代码如下:
python pyinstaller.py -F c:\scripts\main.py
如果不想要黑框的话再加个-w的参数就好。其他参数:
-F, --onefile Py代码只有一个文件
-D, --onedir Py代码放在一个目录中(默认是这个)
-K, --tk 包含TCL/TK
-d, --debug 生成debug模式的exe文件
-w, --windowed, --noconsole 窗体exe文件(Windows Only)
-c, --nowindowed, --console 控制台exe文件(Windows Only)
-X, --upx 使用upx压缩exe文件
-o DIR, --out=DIR 设置spec文件输出的目录,默认在PyInstaller同目录
--icon= 加入图标(Windows Only)
-v FILE, --version=FILE 加入版本信息文件
最后pyqt了个丑陋的缩水的界面(好吧。。我承认我真不太会写)
打包大小9M,算是可以接受了
运行效果(还不错啦):
以上就是本文的全部内容了,希望小伙伴们喜欢。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我可以为您提供一些关于Python制作指定区域截图工具Python截图PDF并提取文本的基本思路。 1. Python制作指定区域截图工具制作指定区域截图工具,您可以使用Python的Pillow库来实现。以下是一些基本步骤: - 安装Pillow库 - 导入Pillow库和其他必要的库 - 创建一个截图窗口并选择需要截图的区域 - 将截图保存到指定的文件路径 下面是一个示例代码: ```python from PIL import ImageGrab # 选择需要截图的区域 box = (100, 100, 500, 500) # (左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标) # 截图并保存到指定的文件路径 img = ImageGrab.grab(box) img.save("screenshot.png") ``` 2. Python截图PDF,并提取文本 要截图PDF并提取文本,您可以使用Python的PyPDF2库和Pillow库来实现。以下是一些基本步骤: - 安装PyPDF2库和Pillow库 - 导入PyPDF2库和其他必要的库 - 打开需要截图的PDF文件 - 选择需要截图的区域并将其换为图像 - 使用Pillow库将图像保存到指定的文件路径 - 使用PyPDF2库读取PDF文件并提取文本 下面是一个示例代码: ```python import PyPDF2 from PIL import Image # 打开PDF文件 pdf_file = open('example.pdf', 'rb') pdf_reader = PyPDF2.PdfFileReader(pdf_file) # 选择需要截图的区域并将其换为图像 page = pdf_reader.getPage(0) # 选择第一页 box = (100, 100, 500, 500) # (左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标) x, y, w, h = box img = Image.new('RGB', (w, h), (255, 255, 255)) img_draw = ImageDraw.Draw(img) img_draw.rectangle(((0, 0), (w, h)), fill=(255, 255, 255)) img_draw.rectangle(((x, y), (x+w, y+h)), fill=(0, 0, 0)) img = img.crop((x, y, x+w, y+h)) # 将图像保存到指定的文件路径 img.save('screenshot.png') # 使用PyPDF2库读取PDF文件并提取文本 text = '' for page_num in range(pdf_reader.numPages): page = pdf_reader.getPage(page_num) text += page.extractText() print(text) ``` 希望以上代码可以帮助您实现Python制作指定区域截图工具Python截图PDF并提取文本的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿小乙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值