【Python+PyQt】pdf页面尺寸统计工具步骤三:遍历file_path列表,依次对每个文件进行尺寸统计。

窗口对象的事件接着步骤二继续

【Python+PyQt】pdf页面尺寸统计工具步骤二:获取拖入目录的所有pdf文件完整路径,存入file_path这个list中⑵

def dragEnterEvent(self, event):

        if len(file_path) == 0:    # 如果文件列表为空,说明一个PDF文件都没有。
            self.label_info.setText("一个PDF文件都没有。")
            return

        current_path = os.path.dirname(file_path[0])
        self.setWindowTitle(current_path)    # 窗口标题显示有点不合适,以后再改。

        list_temp = []
        list_unknownsize = []    # 记录全部文件的未知尺寸,以[['filename', {(297,420):6, (420,594):3}], [], []]的形式
        for f in file_path:
            # 注意记录未知尺寸的文件名。以['filename', {(297,420):6, (420, 594):3}]的形式。

            dict_temp, dict_unknownsize = GetSizeNameAndCount(GetPdfsize(f))    # 临时字典变量和临时字符串变量分别接收此函数的两个返回值。第一个返回值是该文件的尺寸字典,第二个返回值是未知尺寸内容。
            if len(dict_unknownsize) > 0:    # 未知尺寸字典长度不为空,说明当前文件有未知尺寸明细。
                list_unknownsize.append([f, dict_unknownsize])

            list_temp.append([GetDirnameOfFile(f), dict_temp])     # 将当前这个文件的所在目录和它的尺寸字典,以两项列表的形式,添加到list_temp列表中。

        list_samedir = SameDirSizeTotal(list_temp)    # 合计相同上级目录的尺寸信息
        list_total = total(list_samedir)    # 作表格最后一行合计。
        list_lastinfo = form_size_table(list_samedir)    # 补全所有key列中的空值。便于在表格中展示。
        list_lastinfo += list_total    # 最后合计行的信息

里面用到了两个自定义函数 GetPdfsize()和GetSizeNameAndCount()

def GetPdfsize(filepath):
    """
    根据传入的pdf文件路径,返回该文件的尺寸(长和宽),较小的值在左。注意要判断只接收pdf文件
    :param filepath:
    :return: 列表形式返回文件内页面尺寸,每一页尺寸一个元组,是列表中的一项。
    """

    list_size = []
    pdf = PyPDF2.PdfReader(filepath)
    for
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

五月春生

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

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

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

打赏作者

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

抵扣说明:

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

余额充值