Автоматическое переименование PDF на основе заголовка

7544
Ron

У меня есть тысячи научных PDF-файлов, которые мне нужно переименовать, у многих нет метаданных. Я хотел бы иметь возможность создать действие automator, которое может открыть папку, затем открыть каждый PDF-файл, скопировать заголовок и переименовать документ и сохранить в новой папке. Я потратил часы, пытаясь понять это, поэтому я был бы очень признателен за помощь. У меня Apple G5 2.26Gz Quad работает os10.6 Спасибо!

4

3 ответа на вопрос

7
slhck

Существует Mendeley, онлайн-инструмент для исследований, который позволяет вам управлять научными публикациями.

Он имеет инструмент Mendeley Desktop, где вы можете перетаскивать PDF-файлы. Mendeley автоматически проанализирует авторов и заголовки из PDF-файлов.

enter image description here

Затем вы можете переименовать файл, щелкнув правой кнопкой мыши и «Переименовать файлы документов ...». Вы также можете переименовать несколько файлов одновременно.

enter image description here

Это доступно для Windows и OS X.

Я добавил +1 к Mendely, потому что он работает довольно хорошо, но иногда он может быть неэффективным при извлечении заголовков документов. Ian Turner 13 лет назад 0
@Ian К сожалению, да. Там никогда не будет идеального решения. Странно, что он не использует заглавные буквы автоматически, когда они все заглавные в оригинальном PDF. slhck 13 лет назад 0
Это так круто! сэкономил мне столько времени! Спасибо вам большое! raindrop 10 лет назад 0
Zotero делает это лучше, и без корпоративной ассоциации Mendeley теперь страдает от. Jack Wasey 5 лет назад 0
@JackWasey Ты прав. Учитывая, что мой пост написан в 2011 году, я удивлен, что теперь он принадлежит Elsevier, и как мало он улучшился с течением времени. slhck 5 лет назад 1
0
Jonas Heidelberg

Если я вас правильно понимаю, вы хотите извлечь заголовок бумаги, который присутствует на первой странице PDF (обычно более крупным шрифтом, чем реферат и следующий текст), и использовать его в качестве имени файла.

Боюсь, что вы, вероятно , не найдете универсального решения, так как в начале PDF-файла может быть разное количество текста без заголовка, что затрудняет извлечение фактического заголовка для PDF-файлов из разных журналы.

Чтобы получить решение, которое работает для определенного процента ваших PDF-файлов, я бы, вероятно,

  • использовать Ghostscript pdf2ps и ps2ascii для извлечения простого текста из PDF
  • проанализируйте этот простой текст для заголовка журнала где-то в первом килобайте или около того
  • в зависимости от журнала попробуйте придумать эвристическое извлечение названия статьи из открытого текста.

Конечно, если вы можете найти инструмент, который может извлечь относительный размер текста, а также обычный текст из PDF, это, вероятно, также очень поможет.

Удачи - было бы интересно посмотреть, если вы найдете способ автоматизировать это! Главное, что я делаю, когда загружаю статьи, - это систематически их называю, но было бы здорово, если бы потом было что-то для этого ...

К счастью, есть решение, смотрите мой ответ :) slhck 13 лет назад 0
@slhck - круто, не знал, что Менделей может это сделать :-). Таким образом, пакетная обработка всех PDF-файлов, если вы перетаскиваете их одновременно? Jonas Heidelberg 13 лет назад 0
Да, даже для тысяч файлов! slhck 13 лет назад 1
0
Luca Bardini

Если вы не хотите использовать внешнее программное обеспечение и хотите написать собственный скрипт, попробуйте открыть PDF-файлы в виде простого текста в текстовом редакторе, а затем поищите шаблоны. Либо выполните поиск по ключевому слову «title», либо поищите слова в заголовке и посмотрите, где они появляются.

Вот несколько примеров (научные журналы по химии):

ACS (Американское химическое общество): название появляется в скобках после второго вхождения ключевого слова '/ title'

Публикация Wiley: заголовок появляется в скобках после первого (и единственного) вхождения ключевого слова '/ Title'

Rsc издательство: не имеет заголовка в виде обычного текста.

Springer: похоже, это зависит от журнала

Поскольку большинство журналов, которые я читаю, принадлежат Уайли или ACS, ситуация выглядела бы неплохо для меня.

Это может быть план: 1. изучить PDF-файлы издателей, из которых вы чаще всего читаете журналы; 2. выбрать те, которые имеют заголовок в виде обычного текста. это не должно быть проблемой, так как все они включают свое имя в последние килобайты PDF-файла.

В зависимости от того, сколько журналов вы прочитали, используйте тег заголовка для заголовка статьи, это может быть полезно или нет.

Более общим подходом было бы: pdf-> text-> parse text. Вы можете начать здесь: https://stackoverflow.com/questions/25665/python-module-for-converting-pdf-to-text

Похожие вопросы