最近因为想要看漫画,无奈下载的漫画是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居然不能放在中文路径下,于是乎各种找解决方案,然后发现了两种解决途径,一种是有个修改的版本(https://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,算是可以接受了

运行效果(还不错啦):

以上就是本文的全部内容了,希望小伙伴们喜欢。

时间: 2015-01-29

python批量图片转pdf,用python 制作图片转pdf工具相关推荐

  1. python批量生成图_利用Python批量生成任意尺寸的图片

    实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- imp ...

  2. python批量识别图片中文字_python实现中文图片文字识别--OCR about chinese text--tesseract...

    0.我的环境: win7 32bits python 3.5 pycharm 5.0 1.相关库 安装pillow: pip install pillow 安装tesseract: 自带了英文语言包, ...

  3. python制做简单图片代码_Python简单的制作图片验证码

    -人人可以学Python-- 这里示范的验证码都是简单的,你也可以把字符扭曲 人人可以学Python.png Python第三方库无比强大,PIL 是python的一个d第三方图片处理模块,我们也可以 ...

  4. python批量移动文件_用python批量移动文件

    我是用来移动图片的,其他格式的文档也是可以的,改下后缀列表就可以了 import os,shutil import datetime #将文件夹里的图片全部移动到新文件夹中 #revised by S ...

  5. python 批量创建线程_【Python】批量创建线程

    在<[Python]线程的创建.执行.互斥.同步.销毁>(点击打开链接)中介绍了Python中线程的使用,但是里面线程的创建,使用了很原始的方式,一行代码创建一条.其实,Python里是可 ...

  6. 分享个网站,用Python批量采集4K壁纸【Python采集壁纸系列一】

    前言 开启一个新系列,分享一些网站给你们,可以采集一些高清无水印壁纸 趁着都还在,赶紧码住吧 放个网址 https://wallhaven.cc/ 获取图片 导入模块 import requests ...

  7. python批量打印网页_用Python批量打印定制的HTML页面

    让我提供一些背景知识. 我自愿参加的一个组织为那些在假期不能来取餐的人送饭. 他们目前有一个sqlserverdb,该数据库存储所有客户机的信息以及每年的用餐信息. 目前,一个Java桌面应用程序连接 ...

  8. jar包导出无法显示图片或者音乐_如何制作图片视频短片,配上音乐闪耀朋友圈!...

    把图片制作成视频短片,再配上一首好听的音乐,发到朋友圈,不仅可以更具创意的分享自己的生活点滴,更能因您的创意获得一大票的赞哦!看到别人分享自己制作的图片视频短片,是不是心痒痒也想做一个呢?今天就教你使 ...

  9. css背景图片高斯模糊_CSS3 filter(滤镜) 制作图片高斯模糊无需JS

    本帖最后由 fengrui99 于 2019-7-8 11:20 编辑 这是一个寂寞的工作日,因为没有女盆友所以很寂寞,因为很寂寞所以来写教程.希望再看教程的你也是单身!啊,知道你是单身枫瑞贼开心!爽 ...

  10. html5 图片粒子效果,Canvas + JavaScript 制作图片粒子效果

    首先看一下源图和转换成粒子效果的对比图: 左侧图片为源图,右侧图片为粒子效果图.该效果是在Canvas画布上制作的.将图片制作成粒子效果相对而言是比较简单的.重点了解两个知识点即可 1:图片是通过im ...

最新文章

  1. 抛硬币直到若干次(k次)连续正面向上的概率
  2. Node.js 究竟是什么?(zz)
  3. XCTF WEB simple_php
  4. 高并发资金交易系统设计方案—百亿双十一、微信红包背后的技术架构
  5. 浅析 Linux 初始化 init 系统,第 3 部分: Systemd
  6. android adjust,android adjustresize adjustpan着名的问题
  7. java 实例 登录用户 equals的用法
  8. CF140C New Year Snowmen (#贪心+优先队列)
  9. SMILES:化学结构的线性表示方法
  10. pta--输入一个正整数n,再输入n个整数,输出其中的偶数。要求相邻数字中间用一个空格分开,行末不得有多余空格
  11. Windows域提权漏洞CVE-2021-442287
  12. 濒死状态下的静息态网络激活和功能连接
  13. RISC-V指令集架构特点及其总结
  14. Linux启用显卡opengl,如何使你的Nvidia显卡支持OpenGL?
  15. ubuntu18.04安装截图软件shutter
  16. 小白初学Python(1) - 输入和输出
  17. JointJS动态流程图
  18. 使用AutoCAD画PCB封装和板框
  19. ROS学习笔记——基于Prometheus无人机开源项目仿真环境配置
  20. 阿里云盘终于支持分享了,免费+不限速!

热门文章

  1. cuda编程_CUDA刷新器:CUDA编程模型
  2. matplotlib画图_漂亮,超详细的matplotlib画图基础
  3. zabbix监控平台添加服务(http,nginx,mysql)
  4. 先进技术android,React Native实战(JavaScript开发iOS和Android应用)/计算机科学先进技术译丛...
  5. php猴子找大王算法,教程方法;php实现猴子选大王问题算法实例电脑技巧-琪琪词资源网...
  6. 用贪婪算法解决背包问题_解决主要算法问题的贪婪策略
  7. 在Python中执行while循环
  8. 带有Python示例的math.cos()方法
  9. Redis 中的过期元素是如何被处理的?「视频版」——面试突击 002 期
  10. 面试官 | 什么是递归算法?它有什么用?