Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

132 wiersze
1.6 KiB

  1. #!/usr/bin/env python
  2. # coding: utf-8
  3. # In[1]:
  4. from PyPDF2 import PdfFileWriter,PdfFileReader
  5. from reportlab.pdfgen import canvas
  6. #from StringIO import StringIO
  7. from io import BytesIO
  8. # In[2]:
  9. imgPath = "img.png"
  10. # In[3]:
  11. imgTemp1 = BytesIO()
  12. imgDoc1 = canvas.Canvas(imgTemp1)
  13. #imgDoc1.drawImage(imgPath, 397.7, 85, 160, 420)
  14. imgDoc1.drawImage(imgPath, 394.2, 80, 200, 435) ## at (399,760) with size 160x160
  15. imgDoc1.save()
  16. # In[4]:
  17. imgTemp2 = BytesIO()
  18. imgDoc2 = canvas.Canvas(imgTemp2)
  19. #imgDoc2.drawImage(imgPath, 397.7, 85, 160, 600)
  20. imgDoc2.drawImage(imgPath, 394.2, 80, 200, 600)## at (399,760) with size 160x160
  21. imgDoc2.save()
  22. # In[5]:
  23. pdf = '../../Downloads/200511-JHO-FICHIER MDPH 95.pdf'
  24. # In[6]:
  25. readpdf = PdfFileReader(pdf)
  26. # In[7]:
  27. pdf_ecriture = PdfFileWriter()
  28. # In[8]:
  29. overlay1 = PdfFileReader(BytesIO(imgTemp1.getvalue())).getPage(0)
  30. overlay2 = PdfFileReader(BytesIO(imgTemp2.getvalue())).getPage(0)
  31. for NumPage in range(readpdf.getNumPages()):
  32. pageObj = readpdf.getPage(NumPage)
  33. page_content = pageObj.extractText()
  34. if 'Prestations faites au profit de' not in page_content:
  35. if 'DÉTAIL' in page_content:
  36. pageObj.mergePage(overlay1)
  37. pdf_ecriture.addPage(pageObj)
  38. #print ("effacement de type 1")
  39. else:
  40. #print ("effacement de type 2")
  41. pageObj.mergePage(overlay2)
  42. pdf_ecriture.addPage(pageObj)
  43. else:
  44. #print ("rien")
  45. pdf_ecriture.addPage(pageObj)
  46. # In[9]:
  47. pdf_ecriture.write(open("output_.pdf","wb"))
  48. # In[ ]:
  49. # In[ ]:
  50. # In[ ]:
  51. # In[ ]:
  52. # In[ ]:
  53. # In[ ]:
  54. # In[ ]:
  55. # In[ ]: