LoginSignup
1
2

More than 1 year has passed since last update.

PDF に白塗りをする (python3)

Last updated at Posted at 2018-12-19

既存のPDF ファイルに 矩形の白塗りをする方法です。

blank_pdf.py
#! /usr/bin/python
#
#	blank_pdf.py
#
#						Mar/26/2023
#
# ------------------------------------------------------------------
import sys
from pdfrw import PdfReader
from pdfrw.buildxobj import pagexobj
from pdfrw.toreportlab import makerl
from reportlab.pdfgen import canvas
import reportlab.lib.colors as color

# ------------------------------------------------------------------
def blank_square_proc(pdf_canvas,xx,yy,width,height):
	pdf_canvas.setFillColor(color.white)
	pdf_canvas.rect(xx, yy, width, height,stroke=False, fill=True)
# ------------------------------------------------------------------
def blank_proc(pdf_canvas):
#
	blank_square_proc(pdf_canvas,10,10,600,180)
#
# ------------------------------------------------------------------
sys.stderr.write("*** 開始 ***\n")
file_in = sys.argv[1]
file_out = sys.argv[2]
sys.stderr.write(file_in + "\n")
sys.stderr.write(file_out + "\n")
#
pdf_canvas = canvas.Canvas(file_out)

pdf_obj = PdfReader(file_in,decompress=False)

page = pdf_obj.pages
pp = pagexobj(page[0])
pdf_canvas.doForm(makerl(pdf_canvas, pp))

blank_proc(pdf_canvas)

pdf_canvas.showPage()
pdf_canvas.save()
#
sys.stderr.write("*** 終了 ***\n")
# ------------------------------------------------------------------

実行方法

./blank_pdf.py in01.pdf out01.pdf

確認したバージョン

$ python --version
Python 3.10.10
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2