PS: я нашел решение на Gemini, используя Python, opencv и pymupdf, но код выдает ошибку
Я не знаю, как сделать это автоматически
[UPD: ответить на все комментарии]
Во-первых, я новичок в Stackoverflow (и использую английский язык). в качестве второго языка, так что если напишите какую-нибудь глупость, просто пропустите это)
import fitz
import cv2
import pyzbar как pyzbar
Код: Выделить всё
def remove_qr_codes_from_pdf(input_pdf, output_pdf):
doc = fitz.open(input_pdf)
for page_num in range(len(doc)):
page = doc[page_num]
pix = page.get_pixmap()
img = cv2.imdecode(np.frombuffer(pix.samples, dtype=np.uint8), cv2.IMREAD_UNCHANGED)
# Detect QR codes
decoded_objects = pyzbar.decode(img)
# Mark QR codes on the image
for obj in decoded_objects:
x, y, w, h = obj.rect
cv2.rectangle(img, (x, y), (x + w, y + h), (0, 0, 0), -1)
# Update the PDF page with the modified image
pix = fitz.Pixmap(doc, cv2.imencode('.png', img)[1])
page.set_pixmap(pix)
doc.save(output_pdf)
doc.close()
# Example usage:
input_file = "input.pdf"
output_file = "output_no_qr.pdf"
remove_qr_codes_from_pdf(input_file, output_file)
2. Я всего лишь студент, и PDF-файл — моя домашняя работа, qr-код содержит ссылку на решение, если я застрял, но оно мне не нужно. QR-код занимает место, и в нем есть еще один PDF-файл, содержащий решение
3. Я занимаюсь соревновательным программированием, поэтому я просто изучаю C++, а не Python, поэтому я не хочу тратить на это слишком много времени
4. 100% Я купил этот курс и не использовал его для бизнеса
5. Если это просто, пожалуйста, помогите мне
Подробнее здесь: https://stackoverflow.com/questions/792 ... -how-i-can
Мобильная версия