Opened 7 months ago

Closed 6 months ago

#1286 closed enhancement (fixed)

Problems with the SCAN-B report when exporting with personal information

Reported by: Nicklas Nordborg Owned by: Nicklas Nordborg
Priority: major Milestone: Reggie v4.30
Component: net.sf.basedb.reggie Keywords:
Cc:

Description

The implementation of #1285 had a side-effect on the plots. The outline on the distributions is not solid but seems to have the same transparance as the distributions. Also, the the vertical markers in the gene expression plots is not transparent.

I think this is a bug in the pdfSweep tool that we are using to remove data. Investigating the source code of that package it seems like it is not actually removing things, but instead making a copy by re-painting everything that is not in the regions marked for removal. The re-painting seems to forget to switch on/off the transparency setting in some cases.

Considering that we are only interesting in removing a few text blocks, the re-painting of everything is overkill. I think it should be possible to delve deep into the internal structure of the PDF, locate the text blocks and remove them from the existing streams.

Change History (3)

comment:1 Changed 7 months ago by Nicklas Nordborg

Status: newaccepted

comment:2 Changed 7 months ago by Nicklas Nordborg

In 6100:

References #1286: Problems with the SCAN-B report when exporting with personal information

Implemented a new redaction strategy that actually remove information from existing data streams instead of re-painting everything that should not be removed.

The implementation is very simple and will probably fail for PDFs with complex nesting and/or matrix transformations (more information can be found in the code PdfUtil7.simpleRedact and PdfUtil7.cleanStream). It works with the current template and output that we add to it. If we changes in the future we need to check that the redactions still works as expected.

comment:3 Changed 6 months ago by Nicklas Nordborg

Resolution: fixed
Status: acceptedclosed
Note: See TracTickets for help on using tickets.