Cách tách file PDF từ Linux Terminal bằng PDFtk

PDFtk không chỉ có thể chia nhỏ các file PDF mà còn có thể biên tập và sửa đổi các file này.

Cài đặt PDFtk

Ứng dụng này đã phát hành được một thời gian và có thể dễ dàng cài đặt trên hầu hết các bản phân phối Linux. Mở cửa sổ terminal và làm theo hướng dẫn bên dưới để cài đặt ứng dụng.

Lưu ý: Để cài đặt PDFtk, bạn phải sử dụng Ubuntu, Debian, Arch Linux, Fedora hoặc OpenSUSE. Nếu bạn chưa chạy bất kỳ bản phân phối Linux nào, hãy làm theo hướng dẫn ở dưới cùng.

sudo apt install pdftk
sudo apt-get install pdftk

PDFtk có thể sử dụng được trên Arch Linux, nhưng người dùng sẽ không thể cài đặt phần mềm từ các nguồn chính của Arch Linux. Thay vào đó, tương tác với Arch Linux AUR là điều kiện bắt buộc. Để bắt đầu cài đặt PDFtk trên Arch, hãy mở một terminal và sử dụng Pacman package manager để đồng bộ hóa phiên bản mới nhất của công cụ Git.

Lưu ý: Có một gói PDFtk khác trên AUR giúp cài đặt chương trình dễ dàng hơn, vì nó giải mã chương trình sẵn, thay vì xây dựng từ nguồn. Chúng tôi không khuyên bạn chọn cách này, vì có một số vấn đề với gói GCC-GCJ được xây dựng sẵn.

sudo pacman -S git

Bây giờ Git đang làm việc trên Arch Linux, bạn sẽ có thể sử dụng nó để tải xuống phiên bản mới nhất của bản PDFtk AUR. Trong terminal, sử dụng git clone để tải về file hướng dẫn xây dựng.

git clone https://aur.archlinux.org/pdftk.git

Sử dụng lệnh CD, di chuyển thiết bị terminal từ thư mục Home của người dùng đến thư mục pdftk mới được nhân bản.

cd pdftk

Bên trong thư mục nguồn PDFtk, bắt đầu quá trình xây dựng bằng cách chạy makepkg. Hãy nhớ rằng chạy lệnh makepkg sẽ tự động tải xuống, tập hợp và cài đặt bất kỳ file phụ thuộc bắt buộc nào. Tuy nhiên, nếu các file phụ thuộc này không được lấy tự động, bạn sẽ cần cài đặt chúng theo cách thủ công. Tất cả các file phụ thuộc cho gói PDFtk AUR có thể được tìm thấy tại đây. 

Hiện tại, không có gói PDFtk Fedora trong kho phần mềm. May mắn thay, thật dễ dàng để làm các gói OpenSUSE hoạt động. Bắt đầu bằng cách sử dụng wget để tải xuống các gói cần thiết.

wget http://ftp.gwdg.de/pub/opensuse/distribution/leap/42.3/repo/oss/suse/x86_64/pdftk-2.02-10.1.x86_64.rpm
wget http://ftp.gwdg.de/pub/opensuse/distribution/leap/42.3/repo/oss/suse/x86_64/libgcj48-4.8.5-24.14.x86_64.rpm

Sử dụng lệnh CD, di chuyển terminal đến thư mục Downloads.

cd ~/Downloads

Cuối cùng, sử dụng DNF package manager để cài đặt PDFtk:

sudo dnf install libgcj48-4.8.5-24.14.x86_64.rpm pdftk-2.02-10.1.x86_64.rpm -y
sudo zypper install pdftk

Xây dựng PDFtk từ nguồn không khiến bạn mất quá nhiều công sức vì có các file dựng sẵn đã được định cấu hình bên trong thư mục nguồn. Để xây dựng chương trình từ nguồn, trước tiên bạn cần tải xuống mã. Để lấy mã, hãy sử dụng công cụ tải xuống wget trong thiết bị terminal.

Xây dựng từ nguồn

Để đảm bảo PDFtk được xây dựng chính xác, hãy đảm bảo rằng bạn đã cài đặt GCC, GCJ và libgcj trên Linux.

wget https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk-2.02-src.zip

Tiếp theo, sử dụng lệnh Unzip để giải nén thư mục PDFtk Zip thành thư mục Download của Linux. Nếu chưa cài đặt ứng dụng Unzip, hãy tìm kiếm package manager của bạn để "giải nén" và cài đặt nó.

cd ~/Downloads
unzip pdftk-2.02-src.zip

Việc giải nén kho lưu trữ zip nguồn PDFtk sẽ tạo một thư mục “pdftk-2.02-src” bên trong Downloads. Trong terminal, sử dụng lệnh CD để nhập.

cd pdftk-2.02-src

Trong thư mục PDFtk gốc, kbạn không thể thao tác gì nhiều. Để tập hợp bất cứ thứ gì, chúng ta cần di chuyển terminal sang thư mục con PDFtk.

cd pdftk

Thư mục con PDFtk có hàng tá Makefiles chuyên dụng mà người dùng có thể sử dụng để tự động tạo các hệ điều hành khác nhau. Sử dụng lệnh LS, liệt kê các nội dung của thư mục.

ls

Xem qua và tìm Makefile cụ thể mà bạn cần và bắt đầu quá trình xây dựng bằng lệnh bên dưới. Hãy nhớ thay đổi "Makefile.filename" trong lệnh bên dưới bằng tên của Makefile bạn cần sử dụng.

make -f Makefile.filename

Sử dụng PDFtk

Một trong những điểm thu hút chính của PDFtk là khả năng can thiệp và chia nhỏ các file PDF. Ví dụ, để chia nhỏ một file PDF sao cho mỗi trang của tài liệu trở thành một file riêng, hãy thử sử dụng lệnh burst:

Sử dụng PDFtk

pdftk testfile.pdf burst

PDFtk sẽ xuất ra các file phân tách cùng vị trí với file nguồn.

Nếu muốn gộp tất cả các file PDF được chia nhỏ thành một file duy nhất, hãy bắt đầu bằng cách đổi tên file PDF gốc (để đảm bảo an toàn).

mv testfile.pdf testfile.bak

Giờ đây, file PDF thử nghiệm đã an toàn, kết hợp lại mọi thứ với PDFtk. Đầu tiên, sử dụng lệnh LS để xem các file trong thư mục.

ls

Tiếp theo, chạy lại lệnh LS, nhưng lần này sử dụng nó để lưu trữ tất cả các file PDF.

ls *.pdf >> pdf-filenames.txt

Chỉ định nội dung của file pdf-filenames.txt cho biến Bash. Biến Bash trong trường hợp này không đơn thuần là một ký tự đại diện khi chúng ta kết hợp các file PDF lại mà còn đánh dấu các file theo thứ tự.

value=$(<pdf-filenames.txt)

Cuối cùng, kết hợp lại file PDF bằng PDFtk và giá trị $.

pdftk $value cat output recombined-document.pdf

Xem thêm: