タイトルに基づいてPDFの名前を自動的に変更

タイトルに基づいてPDFの名前を自動的に変更

名前を変更する必要がある科学的な PDF が何千もありますが、その多くはメタデータがありません。フォルダーを開いて各 PDF を開き、タイトルをコピーしてドキュメントの名前を変更し、新しいフォルダーに保存できるオートメーション アクションを作成できればと思います。この方法を理解するのに何時間も費やしたので、どなたか助けていただければ幸いです。私は Apple G5 2.26Gz quad を所有しており、OS10.6 を実行しています。よろしくお願いします。

答え1

があるメンデレー科学出版物を管理できるオンライン研究ツールです。

Mendeley には PDF をドラッグ アンド ドロップできるデスクトップ ツールがあります。Mendeley は PDF から著者とタイトルを自動的に解析します。

ここに画像の説明を入力してください

次に、右クリックして「ドキュメント ファイルの名前を変更...」を選択すると、ファイルの名前を変更できます。複数のファイルの名前を一度に変更することもできます。

ここに画像の説明を入力してください

Windows と OS X で利用できます。

答え2

もし私が正しく理解しているならPDF の最初のページにある論文タイトル (通常は要約やそれに続くテキストよりも大きな文字で表示されます) を抽出し、それをファイル名として使用します。

おそらくあなたは万能の解決策は見つからないPDF の先頭にはタイトル以外のテキストがさまざまな量含まれている場合があり、異なるジャーナルからの PDF の実際のタイトルを抽出するのが困難になることがあります。

PDFの一定の割合に有効なソリューションを得るには、私はおそらく

  • Ghostscriptのpdf2psとps2asciiを使用するPDFからプレーンテキストを抽出する
  • このプレーンテキストを解析して、最初の1キロバイトあたりにあるジャーナルタイトルを探します。
  • ジャーナルに応じて、プレーンテキストから論文タイトルを抽出するヒューリスティックな方法を考え出してください。

もちろん、PDF からプレーンテキストだけでなく相対的なテキスト サイズも抽出できるツールが見つかれば、それも大いに役立つでしょう。

頑張ってください。自動化する方法が見つかったら面白いですね。私が自分で記事をダウンロードするときに主に行うことは、体系的に名前を付けることですが、後でこれを行う方法があれば本当に素晴らしいと思います...

答え3

外部ソフトウェアを使用せず、独自のスクリプトを書きたい場合は、テキスト エディターで PDF をプレーン テキストとして開き、パターンを探します。キーワード「タイトル」を検索するか、タイトル内の単語を検索して、その単語がどこに表示されるかを確認します。

いくつか例を挙げてみましょう(化学の科学雑誌):

ACS (アメリカ化学会): タイトルは、キーワード「/title」の 2 回目の出現後に括弧内に表示されます。

Wiley 出版: タイトルは、キーワード「/Title」が最初に(そして唯一)出現した後に括弧内に表示されます。

Rsc 出版: プレーンテキストのタイトルがありません。

Springer: ジャーナルによって異なるようです

私が読んでいるジャーナルのほとんどは Wiley または ACS が発行しているので、状況は私にとってかなり良いように思えます。

次のようなプランが考えられます: 1. 最も頻繁に読む雑誌の出版社の PDF を調べる 2. タイトルがプレーンテキストで書かれているものを選ぶ。PDF の最後の KB に名前がすべて含まれているので、これは問題にならないはずです 3. スクリプトを使用してそれらを管理する

読んでいるジャーナルのうち、記事のタイトルにタイトル タグを使用しているジャーナルがいくつあるかによって、これが役立つかどうかが決まります。

より一般的なアプローチは次のようになります: pdf->text->parse text ここから始めることができます: https://stackoverflow.com/questions/25665/pdf からテキストへの変換のための python モジュール

答え4

Pythonモジュールがありますpdftitle · PyPIタイトルを抽出します。

使用法:

$ pdftitle -p 1506.01186.pdf --replace-missing-char ' '
Cyclical Learning Rates for Training Neural Networks

オプションを使用することをお勧めします--replace-missing-char。そうしないと、たとえば、クラッシュする可能性があります。出典: http://arxiv.org/pdf/1506.01186.pdf欠落した文字はタイトルに含まれないことが多いため、結果の品質には影響しません。

タイトルから判断すると、バッチ名前変更を実行するスクリプトを作成するのは非常に簡単なはずです。


関連する質問へのリンク:

関連情報