GNU/Linux >> Linux の 問題 >  >> Ubuntu

単一のPDFとして保存された本を章ごとに1つのPDFに分割するツール?

PDF形式の本を数冊持っていますが、携帯電話で簡単に利用できるように、章ごとに分けたいと思います。書籍を章ごとに簡単に異なるPDFファイルに分割するために使用できるツール(または一連のツール)はありますか?

承認された回答:

標準がないため、これを自動的に行うのは困難です。 PDFファイルのチャプターラベル。ただし、手作業を気にしない場合は、各章のページを書き留めて、pdftkを使用してください。 ページを選択して新しいPDFファイルに保存します。たとえば、第2章が23〜45ページの場合は、次のようにします

pdftk A=input.pdf cat A23-45 output chapter_2.pdf

最初にpdftkをインストールする必要があります:

sudo apt-get install pdftk

ghostscript(プリインストールされています)を直接使用することもできます:

gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER -dFirstPage=23 -dLastPage=45 -sOutputFile=chapter_2.pdf input.pdf

これは、物事を半自動で実行するスクリプトを変換するのは非常に簡単です。まず、入力ファイルを作成します。各行に、目的の出力pdfファイルのタイトル、開始ページ、終了ページを次のように配置します。

chapter1 1 23
chapter2 24 56

これをテキストエディタを使用して保存し、pdfchaps.inにファイルします。 。

次に、スクリプトを作成します—以下をpdfchaps.shというファイルに保存します :

#!/bin/bash

function pdfextr() { 
  echo "Chapter $2"
  pdftk A=$1 cat A$3-$4 output $2.pdf 
}

chapters=$1
pdffile=$2

echo "Splitting pdf file $pdffile by chapters from $chapters"
cat $chapters | while read line ; do  pdfextr $pdffile $line ; done

スクリプトを実行可能にします:

chmod a+x pdfchaps.sh

そしてそれを実行します:

pdfchaps chaps.in mybook.pdf

Ubuntu
  1. 行に基づいて単一のファイルを複数のファイルに分割する方法

  2. ファイルを配列に読み込みますか?

  3. 複数の PDF ファイルを 1 つの PDF に結合/変換する

  1. 1 つのテキスト ファイルを複数の *.txt ファイルに分割する方法は?

  2. 指定された行数ごとにCSVファイルを分割する方法は?

  3. すべてのファイルを単一のファイルに再帰的に cat する

  1. 特定のファイルを1つのファイルに連結しますか?

  2. 複数のファイルを1つのgzファイルにgzipする方法は?

  3. Linux でのファイル編集はディスクに直接保存されますか?