PDFファイルのブックマークをインポート、エクスポート、編集する方法は?


21

pdfファイルのブックマークは、ファイル内のどこかにプレーンテキストで保存されると聞きました。バッチ処理のために、pdfファイルのブックマークをテキストファイルにインポートしたり、テキストファイルからエクスポートしたりできるかどうか疑問に思っていました。

「はい」の場合、pdfファイルのブックマークを含むテキストファイルを編集するための構文に関する説明はありますか?

Ubuntu 10.10とWindows 7のフリーソフトウェアソリューションを期待していました。

よろしくお願いします!

回答:


21

PDFからブックマークをプレーンテキストファイルに抽出したり、その逆を行うことができる非常にさまざまなツールがあります。その一部は次のとおりです。

また、これらのツールの多くのフォーマット間で変換できるスクリプトがあります: bmconverter.py

別の非常に良い方法は、pdflatexを介してpdfにブックマークを追加することです。


13

pdftkこれに使用できます。詳細:PDFブックマークをエクスポートおよびインポートする方法

次のように、コマンドラインでPDFブックマークをエクスポートします。

pdftk C:\Users\Sid\Desktop\doc.pdf dump_data output C:\Users\Sid\Desktop\doc_data.txt

次のようなデータファイルからPDFブックマークをインポートします。

pdftk C:\Users\Sid\Desktop\doc.pdf update_info C:\Users\Sid\Desktop\doc_data.txt output C:\Users\Sid\Desktop\updated.pdf

pdftkブックマーク形式は書くのが少し面倒です。代わりに私が使用して独自のスクリプトを作成しbashsedpdftkpython3。このレポで確認してください:https : //github.com/SiddharthPant/booky

そのbkmrks.txtため、1000ページのPDFの場合でも5分しかかからないこのようなテキストファイル()を作成できます。

{
  Title1, 1
  Title2, 2
  {
    Subtitle1, 3
    Subtitle2, 4
    {
      SubSubtitle1, 5
      ...
    }
  }
}

そして、私のスクリプトを使用します

./booky.sh pdf_file.pdf bkmrks.txt

これによりpdf_file_new.pdf、ブックマークを含むpdf()が自動的に作成されます。

代わりにWindowsマシンを使用している場合、これは* nixシステムで機能します。そして、最初のインストールpython3pdftkちょうど使いbooky.py変換するために、レポでファイルをbkmrks.txtpdftk互換性のある形式

python3 booky.py < bkmrks.txt > output.txt

次に、exportコマンドを使用して、ダンプされたデータファイルを生成します。そのファイルから以前のブックマークを削除し、output.txt代わりに単純なコピーペーストを使用してコンテンツを挿入します。そして、そのデータをインポートして戻します。


4

ブックマークがあるドキュメントのバージョンがあり、それらをコピーしたい場合、もっと簡単な方法はPDF-XChange Viewerを使用することです(v2.5.211を使用しました)。ブックマークのあるPDF(ソースPDF)を開き、ブックマークペインですべてのブックマークを選択し、Ctrl + Cを使用してコピーし、ブックマークのないPDF(ターゲットPDF)を開き、貼り付けます(Ctrl + V)そのPDFのブックマークペイン。PDF-Xchangeビューアーは、ブックマークのプロパティをソースPDFからのとおりに保持します(ブックマークテキストの太字/斜体の書式設定を含む)。何らかの理由で、対象PDFの一部のセクションがドキュメントの改訂により低くまたは高くなっている場合、修正が必要なブックマークをクリックし、ブックマークを開きたいページの場所までスクロールします。ブックマークをもう一度クリックして、「宛先の設定」をクリックします。問題のブックマークについては、必要に応じてこの最後の部分を繰り返します。終了したら、ターゲットPDFを保存します。

これは私にとってはうまくいき、非常に直感的で、数分で完了しました。私の特定のシナリオでは、同僚がブックマークを持たないWord for Macを使用して非常に長い文書を作成していました。ドキュメントの長さのため、ドキュメントのアウトラインに対応するブックマークが必要でした。Word for Windowsで文書をブックマーク付きのPDFとして保存することはできましたが、Word for WindowsとWord for Macのフォーマットの違いにより、ページ数が大幅に減りました(特に、フッターの周りの空白に違いがあり、違いがありました)数字とキャプションの間隔で)。Word for Windowsでページネーションを正しくするためにヘッダーとフッター、および図のサイズをいじり、PDFにブックマークを付けて保存することができました。残念ながら、


1
PDF-Xchangeの場合は+1。少ないツールより陽気な
Ooker

1

PDFファイルの仕様は、Adobeから無料でダウンロード可能なPDFとして入手できます-少なくとも前回チェックしたときです。ただし、ほとんどのPDFファイルには、ほとんどの圧縮可能なデータが圧縮されています。昔々、基本的にはプレーンテキスト版のPDFがあり、もしそうであれば今でも有効ですが、実際にその形式でファイルを取得することは問題になるかもしれません。

私はまだやっていませんが、可能性の高い可能性の1つは(支払いを希望する場合)、Acrobat Proを購入し、そのアプリケーションに組み込まれているJavascriptスクリプト機能を使用することです。始めるには...

http://acrobatusers.com/tutorials/2008/10/auto_bookmark_creation

このチュートリアルでは、Acrobat 7.0 Pro(Creative Suite CS2に含まれるバージョン)でJavascriptを使用してブックマークを自動的に作成する方法を示します。それは少し古くなっていますが、同じ手法は新しいバージョンでもうまくいくはずです。

Adobeアプリケーションには、Javascript(標準ではJavascriptにはないもの)を使用してテキストファイルを読み書きするためのライブラリが含まれているため、独自のインポート/エクスポートスクリプトを作成することは可能ですが、これらのスクリプトを堅牢にすることは簡単ではありません。


ありがとう!Acrobat ProのLinuxバージョンはありますか?
ティム

申し訳ありません-私はそれを非常に疑います。AFAIKはMacまたはWindowsのものであり、(1)そのプラットフォームの使用を開始し、(2)FOSSを使用するよりもプロプライエタリソフトウェアに多く支払う意志があることを示す場合を除き、AdobeはLinuxをサポートしそうにありません。代替案。ありそうもない。無料のソリューションとして、blog.rubypdf.com / 2007/12/12 /…(Rubyの場合)などのライブラリを試すことができます。私はこれについてさらに知りません-Googleで見つけました。
Steve314

1

ブックマークをエクスポートするには、Microsoft OneNoteの使用を必要とする別のアプローチに従います。

ブックマーク構造を表示した状態でPDFリーダー(Foxitの無料版を使用)を開き、OneNoteでスナップショットを撮ってFoxitブックマーク構造を選択します。

OneNoteに戻って、スナップショットイメージを右クリックした後に表示されるメニューで」「イメージからテキストをコピー」オプションを選択し、インデントを修正するために側面に貼り付けます(通常は箇条書きで)。


1

HandyOutline。1ドラッグ、1クリック、完了。https://sourceforge.net/projects/handyoutlinerfo/。無料です。サブブックマークをインデントします。PDFリーダー/エディターは必要ありません。また、すべての詳細をテキスト(テキストにコピーして完全に機能するワードドキュメントに整頓するためにマクロを書き込む)またはXMLにエクスポートして、PDFにインポートします。開発者は寄付に値します。

PDF-Xchangeエディター(PDFViewerに置き換わりました)ランダムに複製/欠落したブックマークをテキストにエクスポート

JPDFにはJavaが必要で、フォーマットガベージがエクスポートされ、名前のみを取得するためにクリーニングできませんでした

PDFtkは指示を見るだけで頭痛の種になりました

:-)


これは、より特異な形式ではなく、XMLにエクスポートするのが大好きです。エクスポート用のドラッグアンドドロップインターフェイスも簡単にできませんでした。一度に複数の操作ができることを願っています。
エヴァンドノヴァン

0

PDF内のすべてのブックマークを他の場所で使用するテキストとしてコピーする、もう1つの「ばかげた」解決策を見つけました。Acrobat Pro(Mac OS用)では、すべてのブックマークを選択して、ワードプロセッサでコピー/貼り付けする方法はありません。ただし、「単一のHTMLページ+ブックマークに基づいてナビゲーションフレームを追加する」オプションを使用して、PDF全体をHTMLファイルとしてエクスポートできます。次に、ブラウザでHTMLを開き、ナビゲーションフレーム内のすべてのテキストを選択して、ワードプロセッサにコピーして貼り付けます...


0

PDFからすべてのブックマークをテキストファイルに読み込むには、次のコマンドでこのコマンドを使用できますpdftk

pdftk input.pdf dump_data output output.txt

次に、Notepad ++で正規表現を使用して、余分な部分を削除しました。以下を空の文字列に(順番に)置き換えた後、ブックマークのリストになりました(テキストエディターで正規表現を使用して置き換えることを忘れないでください)。

BookmarkLevel.*
BookmarkPageNumber.*
BookmarkBegin.*
\n\s+\n

数字を削除する場合は、次の式を置き換えます。

BookmarkTitle: A8.\d.\d+\s
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.