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_data
ASCII以外の文字(è
「è」など)の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ファイルに役立ちます。
読みたいかもしれませんこれに関連する質問と回答しかも。