Kaynak PDF'imlerimden bir PDF yazdırdığımda, dosya boyutu, formdaki metin kutuları düşer ve kaldırır. Kısaca, dosyayı düzleştirir. Bu, elde etmek istediğim davranış.Python ile düzleştirilmiş PDF oluştur
Kaynak olarak başka bir PDF (düzleştirmek istediğim) kullanarak PDF oluşturmak için aşağıdaki kod, metin kutuları formunu da yazar.
Metin kutuları olmadan PDF alabilir miyim? Tıpkı bir PDF'yi PDF olarak yazdırdığımda Adobe'nin yaptığı gibi. Ben o zaman pdf bilgi örtbas ve yeni bilgi ekleyerek buna bir metin kutusu ekleyin ve adres:
import os
import StringIO
from pyPdf import PdfFileWriter, PdfFileReader
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
directory = os.path.join(os.getcwd(), "source") # dir we are interested in
fif = [f for f in os.listdir(directory) if f[-3:] == 'pdf'] # get the PDFs
for i in fif:
packet = StringIO.StringIO()
can = canvas.Canvas(packet, pagesize=letter)
can.rotate(-90)
can.save()
packet.seek(0)
new_pdf = PdfFileReader(packet)
fname = os.path.join('source', i)
existing_pdf = PdfFileReader(file(fname, "rb"))
output = PdfFileWriter()
nump = existing_pdf.getNumPages()
page = existing_pdf.getPage(0)
for l in range(nump):
output.addPage(existing_pdf.getPage(l))
page.mergePage(new_pdf.getPage(0))
outputStream = file("out-"+i, "wb")
output.write(outputStream)
outputStream.close()
print fName + " written as", i
özetlersek:
Benim diğer kod bu eksi gibi bir şey bazı şeyler görünüyor Bu pdf'den bir pdf yazdırıyorum. Metin kutusu artık düzenlenemez veya hareket edemez. Bu süreci otomatikleştirmek istedim ama denediğim her şey, metin kutusunun düzenlenebilir olmasına izin verdi. Bir OS paketi yükleme seçeneği ise
Ayrıca buna bir çözüm arıyoruz. Filigran bir Python betiğim var, ancak belgedeki metni seçmeye veya vurgulamaya çalışırken filigran yoluna giriyor. Düzleştirilmiş bir filigran PDF oluşturabilir ve daha sonra kaynak PDF'lerle birleştirebilirsem, bunu çözebilirdim. –
Dosya adları bazı özel kurallara uyuyor mu? eğer öyleyse, hangi semantik? Dosya adının boşlukla ve sonra virgülle ayrılmasının amacı nedir? (aksi halde, komut başarısız olur, ancak ilgili sorun olup olmadığından emin değilseniz emin değilim) – gpoo
+ MakeCents Sorunu yeniden oluşturamıyorum. Kutularım yok. Bir görüntüyü aldığınız sonuçla ve beklenen sonuçla yapıştırabilir misiniz? – gpoo