GNU/Linux >> Belajar Linux >  >> Ubuntu

Alat Untuk Membagi Buku yang Disimpan Sebagai Pdf Tunggal Menjadi Satu Pdf Per Bab?

Saya memiliki beberapa buku sebagai PDF, dan saya ingin membaginya berdasarkan bab untuk konsumsi yang lebih mudah di ponsel. Apakah ada alat (atau urutan alat) yang dapat saya gunakan untuk dengan mudah membagi buku menjadi file PDF yang berbeda berdasarkan bab?

Jawaban yang Diterima:

Ini akan sulit dilakukan secara otomatis, karena tidak ada standar label bab dalam file PDF. Namun, jika Anda tidak keberatan dengan beberapa pekerjaan manual, tulis halaman untuk setiap bab, dan gunakan pdftk untuk memilih halaman dan menyimpannya ke dalam file pdf baru. Misalnya, jika bab 2 adalah halaman 23-45, lakukan

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

Anda harus menginstal pdftk terlebih dahulu:

sudo apt-get install pdftk

Anda juga dapat menggunakan ghostscript (yang sudah diinstal sebelumnya) secara langsung:

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

Ini cukup mudah untuk mengonversi skrip yang menjalankan berbagai hal secara semi-otomatis. Pertama, buat file input; pada setiap baris, masukkan judul file pdf keluaran yang diinginkan, halaman awal, halaman akhir — seperti itu:

chapter1 1 23
chapter2 24 56

Simpan ini, menggunakan editor teks, ke file pdfchaps.in .

Sekarang, buat skrip — simpan yang berikut ini ke file bernama 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

Jadikan skrip dapat dieksekusi:

chmod a+x pdfchaps.sh

Dan jalankan:

pdfchaps chaps.in mybook.pdf

Ubuntu
  1. Cara membagi satu file menjadi beberapa file berdasarkan baris

  2. Pisahkan File Dengan Jumlah Baris Termasuk Header Di Masing-Masing?

  3. Baca File Ke Array?

  1. Bagaimana cara membagi satu file teks menjadi beberapa file *.txt?

  2. Bagaimana cara membagi file CSV sesuai jumlah baris yang ditentukan?

  3. Bagaimana cara gzip banyak file menjadi satu file gz?

  1. Menggabungkan File Tertentu Menjadi Satu File Tunggal?

  2. Bagaimana Mengedit Gambar Menjadi File Pdf yang Ada?

  3. Apakah hasil edit file di Linux langsung disimpan ke dalam disk?