そしてqpdf

そしてqpdf

PDFファイルがあります。このファイルのブックマークをテキストファイルまたはExcelスプレッドシートに抽出する必要があります。また、大容量PDFファイルのブックマークを確認する必要があります。どうすればいいですか?

答え1

あなたはそれを使用することができますpdftkPDFファイルからデータ(特にブックマーク)を抽出します。

例:pdftk 2.02を使用して、

pdftk file.pdf dump_data_utf8 | grep '^Bookmark'

ブックマークリストを出力します。各ブックマークには4行があり、形式は次のとおりです。

BookmarkBegin
BookmarkTitle: <title in UTF8>
BookmarkLevel: <number>
BookmarkPageNumber: <number>

たとえば、レベル 1 はセクションに対応し、レベル 2 はサブセクションに対応する式です。dump_data_utf8代わりに、dump_dataASCII以外の文字(&#232;「è」など)のHTML / XML数値エンティティを提供できます。

注:そうでない場合は、grepメタデータ(作成日、作成者、キーワード、タイトルなど)、ページ数、各ページサイズなどの他の興味深いデータを取得できます。 pdftkユーティリティは、PDFファイルに対して他の操作を実行できます。マニュアルページ完全な説明を見るには。

答え2

そしてqpdf

これにより開始されます。

qpdf --json your.pdf | jq '.objects' | grep -Po 'Title": \K.*'

ただし、このコマンドはPDFのヘッダーも生成します。

見てqpdfマニュアルJSON出力情報。

grep以下を使用して、コマンドを簡素化して削除できることを確認します。jqのワイルドカード

答え3

CLIを使用できますjpdf調整CSV形式でブックマークを抽出する:

java -jar -Xmx512M jpdftweak.jar "file.pdf" -savebookmarks "bmarks.csv" /dev/null

ブックマークデータを確認して修正したら、次のコマンドを使用してPDFファイルにリロードできます。

java -jar -Xmx512M jpdftweak.jar "file.pdf" -loadbookmarks "bmarks.csv" "file_updated.pdf"

Javaパラメータ-Xmx512Mはオプションですが、より多くのメモリを必要とする大容量PDFファイルに役立ちます。

読みたいかもしれませんこれに関連する質問と回答しかも。

関連情報