Saya tahu ini adalah posting lama, tetapi saya menghabiskan waktu lama untuk mencoba menemukan solusi. Saya menemukan yang layak hanya menggunakan ReportLab dan PyPDF jadi saya pikir saya akan membagikan:
- membaca PDF Anda menggunakan
PdfFileReader()
, kami akan memanggil masukan ini
- buat pdf baru yang berisi teks Anda untuk ditambahkan menggunakan ReportLab, simpan ini sebagai objek string
- membaca objek string menggunakan
PdfFileReader()
, kami akan memanggil teks ini
- buat objek PDF baru menggunakan
PdfFileWriter()
, kami akan memanggil output ini
- iterasi melalui input dan terapkan
.mergePage(*text*.getPage(0))
untuk setiap halaman tempat Anda ingin menambahkan teks, lalu gunakan output.addPage()
untuk menambahkan halaman yang dimodifikasi ke dokumen baru
Ini berfungsi dengan baik untuk penambahan teks sederhana. Lihat contoh PyPDF untuk memberi tanda air pada dokumen.
Berikut beberapa kode untuk menjawab pertanyaan di bawah ini:
packet = StringIO.StringIO()
can = canvas.Canvas(packet, pagesize=letter)
<do something with canvas>
can.save()
packet.seek(0)
input = PdfFileReader(packet)
Dari sini Anda dapat menggabungkan halaman file input dengan dokumen lain.
Contoh untuk [Python 2.7]:
Contoh untuk Python 3.x:
sumber
io.BytesIO
dan menggunakan PyPDF2 daripada pyPDF (yang tidak dikelola). Jawaban yang bagus!open
daripadafile
.existing_pdf
keoutput
, kode contoh tidak.pdfrw akan memungkinkan Anda membaca di halaman dari PDF yang ada dan menariknya ke kanvas reportlab (mirip dengan menggambar). Ada contoh untuk ini di subdirektori pdfrw example / rl1 di github. Penafian: Saya adalah penulis pdfrw.
sumber
Memanfaatkan David Dehghan 's jawaban di atas, berikut karya-karya di Python 2.7.13:
sumber
cpdf akan melakukan pekerjaan dari baris perintah. Ini bukan python, meskipun (afaik):
sumber
Anda mungkin lebih beruntung dalam memecahkan masalah menjadi mengubah PDF menjadi format yang dapat diedit, menulis perubahan Anda, lalu mengubahnya kembali menjadi PDF. Saya tidak tahu perpustakaan yang memungkinkan Anda mengedit PDF secara langsung tetapi ada banyak konverter antara DOC dan PDF misalnya.
sumber
Jika Anda menggunakan Windows, ini mungkin berhasil:
Percontohan Pembuat PDF
Ada juga whitepaper kerangka pembuatan dan pengeditan PDF dengan Python. Agak ketinggalan jaman, tapi mungkin bisa memberi Anda beberapa info berguna:
Menggunakan Python sebagai Kerangka Pengeditan dan Pemrosesan PDF
sumber
Sudahkah Anda mencoba pyPdf ?
Maaf, ia tidak memiliki kemampuan untuk mengubah konten halaman.
sumber