PDF檔案自動重新命名

2021-08-15 01:31:12 字數 2188 閱讀 5860

**

#-*- coding:utf-8 -*-

import os

import pypdf

import wx

import sys

class rename_frame(wx.frame):

def __init__(self):

wx.frame.__init__(self,none,-1,u'pdf file rename',size=(400,350))

panel=wx.panel(self,-1)

self.text1=wx.statictext(panel,label=u'folder address ',pos=(13,80),size=(100,60))

self.textctrl1=wx.textctrl(panel,pos=(107,80),size=(250,25))

self.button1=wx.button(panel,-1,u'start',pos=(90,200),size=(100,50))

self.bind(wx.evt_button,self.begin_click,self.button1)

self.button2=wx.button(panel,-1,u'cancel',pos=(205,200),size=(100,50))

self.bind(wx.evt_button,self.cancel_click,self.button2)

def begin_click(self,event):

folder_address = self.textctrl1.getvalue()

for file_name in os.listdir(folder_address):

if file_name.lower()[-3:] == 'pdf':

target_pdf = file(file_name,'rb')

try:

pdf_title = pypdf.pdffilereader(target_pdf).getdocumentinfo().title+'.pdf'

except:

pdf_title = '0_'+file_name

target_pdf.close()

try:

os.rename(file_name,pdf_title)

except:

pass

self.destroy()

sys.exit()

def cancel_click(self,event):

self.destroy()

sys.exit()

def main():

win = rename_frame()

win.show()

if __name__ == '__main__':

main()

上面的**寫了乙個小型的帶有簡單gui的程式,關鍵的部分在於:

folder_address = self.textctrl1.getvalue()

for file_name in os.listdir(folder_address):

if file_name.lower()[-3:] == 'pdf':

target_pdf = file(file_name,'rb')

try:

pdf_title = pypdf.pdffilereader(target_pdf).getdocumentinfo().title+'.pdf'

except:

pdf_title = '0_'+file_name

target_pdf.close()

try:

os.rename(file_name,pdf_title)

except:

pass

從文字輸入框獲得資料夾位址後,遍歷資料夾名下的所有檔案,凡是以'pdf'結尾的檔案都會被pypdf模組的pypdf.pdffilereader().title來獲取pdf的title屬性,然後利用os.rename(old_name,new_name)函式進行重新命名。

但有些pdf檔案是帶有加密的,這使得pdf的屬性並不能用上述方法獲取,所以就用'0_'+file_name的方法重新命名原檔案將其置頂(否則在一大堆檔案裡找出沒有重新命名的檔案太麻煩了),然後再手動重新命名。

以上。

重新命名PDF列印檔案名

odoo系統預設列印出來的pdf檔案都是以當前文件模型物件對應的模板檔名命名的,對使用者來說,這樣的命名很不友好。我們希望能夠將列印出來的檔名以單號命名,下面是實現這種目的的方法。在report download的controller中,將對應的檔名用單據的名稱替換掉即可 response.head...

PHP自動重新命名檔案演算法

php重新命名檔名我們在實際開發過程中經常會使用到,比如使用者上傳檔案或是一些快取檔案自動生成的功能我們都需要使用到自動重新命名功能。但一般我們在製作上傳檔案時命名方式都是使用取系統當前時間加上隨時數的方式在進行,這種方法固然可行但有時候並不能滿足客戶要需求。有些客戶就要求我們的檔名 命名方式要像w...

檔案重新命名或者專案重新命名

在專案開發中 有時候某個專案的名稱中途需要更改一下 這個時候乙個乙個的去找對應的檔名然後更換在專案小的時候還可以 如果專案比較龐大的話那就相當複雜了 好在xcode有個重構的方法 方便操作 比如 把專案中status更名為 cdsinacellmodel 這個方法能夠把整個專案的status更名為c...