[PYTHON] Imaginez le fichier pdf et tamponnez toutes les pages avec des tampons (images) confidentiels.

Cela se passait dans l'entreprise ...

Prenez soin de vos ressources. Démonter le pdf et éditer l'image et convertir en pdf en utilisant python À propos, adobe acrobat a également une fonction de tampon et une fonction de filigrane. Il peut être utilisé pour des traitements qui ne peuvent pas être réalisés avec des fonctions authentiques.

Environnement d'exécution

Préparation préalable

-Installez Logiciel externe Poppler (en utilisant poppler-0.67.0_x86)

Première structure de dossier

image.png

Cette partie est exécutée à partir de cmd

dir_path = 'C:\\Users\\user\\Desktop\\topdf'

import os
from pdf2image import convert_from_path, convert_from_bytes

images = convert_from_path(os.path.join(dir_path,'a.pdf'))

for i in range(0,len(images)):
    images[i].save(os.path.join(dir_path,'png/test'+str(i).zfill(8)+'.png'), 'png')

Exécuter à partir du cahier ci-dessous

import glob
import os

dir_path = 'C:\\Users\\user\\Desktop\\topdf'

png_data = glob.glob(os.path.join(dir_path,'png','*.png'))

Vérifiez si l'image peut être lue correctement Définissez l'image que vous souhaitez définir comme tampon comme im2

from PIL import Image, ImageDraw, ImageFilter

im1 = Image.open(png_data[0])
im2 = Image.open(os.path.join(dir_path,'stamp','stamp.png'))

Vérifiez la taille de l'image du tampon et agrandissez l'image Lors du collage sur l'image avec coller, ajustez également les coordonnées

im2.size

back_im = im1.copy()
back_im.paste(im2.resize((216, 72)), (10, 5))

Après l'ajustement, collez en plusieurs lots Je suis également préoccupé par la taille du fichier, alors réglez-le sur jpg

for o in range(0,len(png_data)):
    im1 = Image.open(png_data[o])
    im2 = Image.open(os.path.join(dir_path,'stamp','stamp.png'))
    back_im = im1.copy()
    back_im.paste(im2.resize((216, 72)), (10, 5))
    back_im.save(os.path.join(dir_path,'png_stamped',str(o).zfill(8)+'.jpg'), 
        quality=10)

Convertir en pdf en utilisant img2pdf

import img2pdf

fname =os.path.join(dir_path,'pdf',"output.pdf") 
dirname = os.path.join(dir_path,'png_stamped')

with open(fname,"wb") as f:
    imgs = []
    for fname in os.listdir(dirname):
        if not fname.endswith(".jpg "):
            continue
        path = os.path.join(dirname, fname)
        if os.path.isdir(path):
            continue
        imgs.append(path)
    f.write(img2pdf.convert(imgs))

Un fichier pdf est créé dans le dossier pdf

c'est tout

Non, achetez un acrobate.

référence

img2pdf PyPl

Comment convertir un pdf en image par python

Coller une autre image sur une image avec Pillow

Recommended Posts

Imaginez le fichier pdf et tamponnez toutes les pages avec des tampons (images) confidentiels.
J'ai exécuté GhostScript avec python, divisé le PDF en pages et l'ai converti en image JPEG.
Extraire des images et des tableaux de pdf avec python pour réduire la charge de reporting
Convertissez l'image au format .zip en PDF avec Python
Histoire de l'analyse d'image du fichier PDF et de l'extraction de données
POSTER l'image avec json et la recevoir avec flask
[Python] Lisez le fichier csv et affichez la figure avec matplotlib
Convertissez des images numérisées déformées en PDF avec Pillow et PyPDF
Lisez le fichier VTK et affichez la carte des couleurs avec jupyter.