kanotix.com

Scripte - Krename Ersatz: python script : PDF Titel Extraktor

mai77 - 08.05.2011, 11:24 Uhr
Titel: Krename Ersatz: python script : PDF Titel Extraktor
http://pastebin.com/CDmgbkPG
http://blog.isnotworking.com/2006/08/extract-pdf-title-from-all-files-on.html

manchmal (zB Dateisystem crash) hat man viele Dateien (PDF, mp3 ...) ohne aussagefähige Dateinamen.

Massenumbenennung nach dem PDF-Titel oder mp3-tag ist nun gefragt.

mit Krename geht es. WerSonderfunktionen mit PDF machen will, kann auch das obige script nehmen und selbst tätig werden. Mit Python einfach nutzbar.
mai77 - 08.05.2011, 11:28 Uhr
Titel: Krename Ersatz: python script : PDF Titel Extraktor
Code:


# -*- coding: cp1252 -*-
# script to rename PDF files according to with title + name (unique)
# pyPdf available at http://pybrary.net/pyPdf
# runs as  python thisPy.py      in  a UNIX-shell (in windows "python" not required)
# http://blog.isnotworking.com/2006/08/extract-pdf-title-from-all-files-on.html


from pyPdf import PdfFileWriter, PdfFileReader
import os
trgtfilename = ""

for fileName in os.listdir('.'):
  if fileName.lower()[-3:] != "pdf": continue
  try:
    actfile = file(fileName, "rb")
    input1 = PdfFileReader(actfile) 
    trgtfilename = input1.getDocumentInfo().title + "_" + fileName
  except:
    print "\n## ERROR ## %s Title could not be extracted. PDF file may be encrypted!" % fileName
    continue
 
  del input1
  actfile.close()

  print 'Trying to rename from:', fileName, ' to ', trgtfilename
  try:
    os.rename(fileName,trgtfilename)
  except:
    print fileName, ' could not be renamed!'
    print '\n error: are prior names unique? Maybe the filename already exists or the document is already opened!'


TheOne - 08.05.2011, 13:30 Uhr
Titel: Krename Ersatz: python script : PDF Titel Extraktor
Hallo mai77,
herzlich willkommen bei Kanotix!

Ich selbst habe solch einen Crash noch nie mit erleben müssen, zum Glück. Ich erwartet von einem stabilen System mit ausgereiften Dateisystemen aber auch keine so massiven Crashs.

Zu dem Script: Ist ganz schick, vielleicht noch das Python Shebang setzen, dann spart man sich beim Aufruf das python vorn.
Falls so ein PDF wirklich encrypted sein sollte, dann könntest ja noch ne PW Abfrage starten und probieren obs sich entschlüsseln lässt. Ob das in einem solchen Szenario in der Form erfolgreich ist weiß ich nicht (Problem: woher soll man das PW für ein File wissen, dessen Namen man nicht kennt).

Gruß TheOne
mai77 - 09.05.2011, 14:58 Uhr
Titel: Krename Ersatz: python script : PDF Titel Extraktor
außerdem wäre ein Abfangen illegaler filenamen (Klammern, semikolon) nützlich.

leider ist auch krename nicht so powervoll wie bulk-rename-utility
Alle Zeiten sind GMT + 1 Stunde
PNphpBB2 © 2003-2007