PyMuPDF icon indicating copy to clipboard operation
PyMuPDF copied to clipboard

page.apply_redactions gives unwanted black rectangle

Open CH-Tam opened this issue 1 year ago • 3 comments

Description of the bug

I want to remove all texts and only keep vector graphics (such as straight lines) in PDF, the code and result are shown below.

However, the original PDF does not contain that black rectangle, the output is undesired. What should I do? (the PDF file is non-public, but it can be provided though private channels.)

Both 1.24.3 and 1.24.7 have this error.

How to reproduce the bug

        doc = fitz.open(pdf_path)
                for page in doc:
                    page.add_redact_annot(page.rect + (-600, -600, 600, 600))
                    page.apply_redactions(graphics=0)

The result of 1st page is image

PyMuPDF version

1.24.7

Operating system

Linux

Python version

3.10

CH-Tam avatar Jun 27 '24 02:06 CH-Tam

Please send me the file via e-mail, thanks.

JorjMcKie avatar Jun 27 '24 06:06 JorjMcKie

@CH-Tam - I received nothing so far ... did you use [email protected]?

JorjMcKie avatar Jun 27 '24 06:06 JorjMcKie

Thanks - file received. This is a problem in the base library for which a fix has been developed. I tested it locally with the improvements and confirmed that it works.

The fix works with MuPDF v1.25.0. (the development version on GitHub).

JorjMcKie avatar Jun 27 '24 07:06 JorjMcKie

This has been fixed by a recent release - probably already 1.24.10.

JorjMcKie avatar Oct 04 '24 12:10 JorjMcKie

hi @JorjMcKie, I have tried the new versions (1.24.10 & 1.24.11). In 1.24.10, the issue is completely solved; however in 1.24.11, the above code has no impact at all (cannot clear the text in the PDF).

CH-Tam avatar Oct 08 '24 09:10 CH-Tam