PDF檔案自動重新命名
背景:從學術網站上下載的論文的PDF檔案一般都是以類似亂碼的形式命名,下載的論文量變大後逐個重新命名後是個繁重耗時的工作。但論文的PDF檔案其實屬性裡都有著自己的論文題目,可以利用這一點來完成對論文題目的重新命名。
程式碼
#-*- 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():
app = wx.App()
win = Rename_Frame()
win.Show()
app.MainLoop()
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的方法重新命名原檔案將其置頂(否則在一大堆檔案裡找出沒有重新命名的檔案太麻煩了),然後再手動重新命名。
以上。
相關文章
- BatchOutput PDF ——批量自動列印PDF檔案BAT
- BatchOutput PDF for Mac(批量自動列印PDF檔案)BATMac
- 對pdf檔案批量重新命名,便於合併
- 快速修改檔名稱的方法,自動批量給檔案重新命名
- 辦公自動化:PDF檔案合併器,將多個PDF檔案進行合併
- NodeJS+formidable實現檔案上傳加自動重新命名NodeJSORM
- 03-Java框架FTPClient 使用rename()移動檔案和檔案重新命名Java框架FTPclient
- 重新命名一千個檔案要多久? Name Mangler 快速為大量檔案重新命名
- 批次檔案重新命名的方法
- 12c pdb線上移動資料檔案或者重新命名資料檔案
- 怎麼把pdf檔案縮小?如何使用PDF Expert壓縮pdf檔案大小?
- PDF檔案轉換為DWF檔案
- PDF Squeezer - PDF Toolbox for Mac(PDF檔案工具箱)Mac
- PDF檔案批次列印工具:BatchOutput PDF for MacBATMac
- PDF Search for Mac(pdf檔案搜尋工具)Mac
- PDF檔案搜尋工具PDF Search for MacMac
- pdf檔案搜尋工具:PDF Search MacMac
- Console 自動生成 Model 檔案
- win10 pdf檔案滑鼠不能拖動怎麼修復_win10 pdf檔案滑鼠不能拖動如何處理Win10
- A Better Finder Attributes Mac檔案重新命名工具Mac
- 檔案批次重新命名軟體:Renamer——MacwMac
- 如何批次對檔案進行重新命名?
- 用Java程式碼批量重新命名檔案Java
- 如何編輯PDF檔案
- 批量擷取pdf檔案
- PDF檔案轉HTML方法HTML
- windows10如何對多個檔案重新命名_windows10批量重新命名檔案的方法Windows
- windows10如何對多個檔案重新命名_windows10批次重新命名檔案的方法Windows
- 「pdf檔案閱讀器」PDF Reader Pro 2.8.19.1
- DjVu檔案轉換PDF格式:DjVu To PDF Converter
- pdf檔案合併工具(abelssoft easy pdf 2020)
- 自動生成Mybatis的Mapper檔案MyBatisAPP
- 一款免費使用的PDF檔案批量合併工具,可操作pdf檔案順序,按順序合併pdf檔案。
- 一款免費使用的PDF檔案批次合併工具,可操作pdf檔案順序,按順序合併pdf檔案。
- aspose word轉換pdf檔案後將pdf檔案轉換為圖片png
- pdf檔案太大如何變小 減小pdf檔案大小最簡單的方法
- pdf是圖片還是文件 pdf格式是文字檔案還是影像檔案
- MagiName for Mac(數碼照片檔案重新命名工具)Mac
- 如何在 Linux 上重新命名一組檔案Linux