Saya perlu menggabungkan beberapa pdf tertidur, dan saya ingin semua pdf input dimulai pada halaman ganjil dalam output pdf.
Contoh: A.pdf
memiliki 3 halaman, B.pdf
memiliki 4 halaman. Saya tidak ingin output saya memiliki 7 halaman. Yang saya inginkan adalah pdf 8 halaman dari mana halaman 1-3 berasal A.pdf
, halaman 4 kosong, dan halaman 5-8 berasal B.pdf
. Bagaimana saya bisa melakukan ini?
Saya tahu tentang pdftk, tetapi saya tidak menemukan opsi seperti itu di halaman manual.
./pdf-cat-even $(cat list-of-file-names.txt) >concatenated.pdf
<list-of-file-names.txt tr '\n' '\0' | xargs -0 ./pdf-cat-even >concatenated.pdf
Langkah pertama adalah menghasilkan file pdf dengan halaman kosong. Anda dapat melakukan ini dengan mudah dengan banyak program (LibreOffice / OpenOffice, inkscape, (La) TeX, scribus, dll.)
Kemudian sertakan halaman kosong ini di tempat yang dibutuhkan:
Jika Anda ingin melakukan ini secara otomatis dengan skrip, Anda dapat menggunakan mis
pdftk file.pdf dump_data | grep NumberOfPages | egrep -o '[0-9]*'
untuk mengekstraksi jumlah halaman.sumber
pdftk --version
mengembalikan pdftk 1.44. Saya ingat bahwa teman-teman saya yang lebih pintar-bash menghabiskan setidaknya 15 menit mencoba hal-hal yang berbeda untuk mendapatkan pekerjaan ini dan menyerah.Jawaban Gilles bekerja untuk saya, tetapi karena saya harus menggabungkan banyak file, lebih mudah jika saya dapat membaca nama mereka dari file teks. Saya sedikit memodifikasi kode Gilles untuk melakukan hal itu, mungkin itu akan membantu orang lain:
sumber
Anda juga dapat menggunakan LaTeX untuk melakukan ini (meskipun saya sadar itu mungkin bukan yang Anda inginkan). Sesuatu seperti yang berikut ini seharusnya berfungsi:
Perhatikan bahwa
\cleardoublepage
hanya menyisipkan halaman kosong dengan kelas yang dibuat untuk pencetakan dua sisi (mis. Buku)Opsi dan info lebih lanjut
pdfpages
dapat ditemukan di CTAN .sumber
\includepdf[pages=-]{...}
.\cleardoublepage
hanya menyisipkan halaman kosong jika Anda menggunakan kelas yang dibuat untuk pencetakan dua sisi. Saya menggunakan artikel yang tidak berfungsi; Saya memperbaikinya dan memperbarui pertanyaan untuk mencerminkan itu.\includepdf
hanya menyertakan halaman pertama secara default (tidak semua halaman).\documentclass[twoside]{article}
bekerja juga.Berikut kode dengan PyPDF2 dan python3
sumber