Esiste un modo migliore per redarre un PDF?


25

Di recente ho dovuto stampare un paio di PDF da inviare a qualcuno, ma volevo redarre (oscurare) un paio di piccoli frammenti di testo.

Una rapida ricerca su Google non ha mostrato alcuno strumento per questo scopo specifico, quindi sono tornato a imagemagick & gimp:

  • convert document.pdf document.png
  • gimp document-0.png
  • (usa il pennello per oscurare il testo)
  • stampa la pagina redatta da gimp
  • stampa le pagine rimanenti da xpdf

Il problema con questa strategia è che il processo di conversione (da PDF a PNG o qualunque altro formato) perde qualità. Ho provato a modificare il PDF in gimp ma non ha funzionato subito.

Esiste uno strumento specifico che consente la redazione in questo modo? (Non ha nemmeno bisogno di essere una redazione "reale" - non sto inviando una softcopy, quindi la redazione "falsa" funzionerà perché la copia non può essere hackerata per rivelare il testo sottostante.)

Oppure, c'è un trucco per poter modificare i PDF in gimp?


2
PDF è scalabile, PNG è grafica raster, motivo per cui si verifica una perdita di qualità nel processo di conversione. Converti invece in un formato scalabile, come SVG.
Anonimo il

@Anonimo: bella idea, ma non utilizzabile. Il file SVG risultante è enorme; Ho dovuto uccidere lo spettatore dopo 30 minuti e circa GiB di consumo di memoria.
bstpierre,

Risposte:


16

(inizialmente avevo raccomandato Okular ma non funzionava come mi aspettavo)

1. Modifica il documento in un editor vettoriale

Sono stato in grado di aprire un file PDF in Inkscape , disegnare un rettangolo su un pezzo di testo e stamparlo. Inkscape è un editor vettoriale, quindi non è necessaria alcuna rasterizzazione. Tuttavia, alcuni caratteri sembravano errati, probabilmente perché il documento è stato creato su un computer Windows con caratteri assenti sul mio.

Si noti che qualsiasi metodo che non comporta la rasterizzazione è accettabile solo se si sta per stampare il documento redatto su carta e non distribuirlo elettronicamente, poiché il testo può ancora essere recuperato da blackout.

2. Aumentare la risoluzione di rasterizzazione quando si apre in un editor bitmap

Per quanto riguarda la "perdita di qualità" quando si apre la pagina in Gimp : è possibile aprire direttamente un file PDF in Gimp. Sarà rasterizzato nel processo. La quantità di perdita di qualità nel processo è una questione di risoluzione scelta durante l'importazione: 300 dpi dovrebbero fornire una qualità molto decente (il valore predefinito è 100).

Puoi anche ottenere buoni risultati con il convertcomando di ImageMagick se gli dici di aumentare la risoluzione:

convert -density 300x300 ...

1
+1 e accettato! Grazie per aver suggerito inkscape, ha fatto un lavoro ragionevole (non perfetto - ha perso un paio di oggetti grafici (per me non importanti) - ma molto ragionevole). E anche il suggerimento convertera buono: l'incantesimo che ho usato era convert -density 300x300e non c'è perdita di qualità.
bstpierre,

+1 per menzionare GIMP può gestire abbastanza bene i pdf
don.joey

8
Avvertenza per la popolazione generale: i metodi di redazione qui che prevedono il mantenimento del testo qui suggerito (ad esempio tutti quelli che evitano la rasterizzazione) non sono sicuri. Il testo può ancora essere selezionato da blackout o letto dalla fonte del file. Vedi ad esempio freerepublic.com/focus/f-news/2706743/posts e hackaday.com/2008/08/01/exposing-poorly-redacted-pdfs
naught101

Sebbene la domanda originale fosse posta sull'invio solo di copie cartacee, per le quali sono accettabili metodi non rasterizzanti, il downgrade dal momento che questa risposta non indica chiaramente il rischio per la sicurezza durante la distribuzione elettronica del risultato.
Jesse Glick,

5
@JesseGlick: invece di "punirmi" per non aver affrontato un caso d'uso nemmeno menzionato nella domanda originale, avresti potuto modificare la risposta. Sarebbe più vantaggioso per i futuri visitatori.
Sergey,

10

Fondamentalmente quello che stai cercando di fare è evidenziare / annotare un PDF, ma con una certa flessibilità verso l'opacità e il colore dei marcatori (hai detto che non è necessario censurare / rimuovere qualcosa, semplicemente redarre). Hai dato un'occhiata alle risposte qui: come posso evidenziare o annotare i PDF?

Una delle risposte più votate raccomanda Xournal , che non è stato menzionato qui e sarebbe la mia arma preferita. È uno strumento che ti consente di prendere appunti scritti a mano ma ha funzionalità extra che ti consentono di annotare un PDF. Per impostazione predefinita salverà le tue annotazioni come file separato ma ti permetterà anche di esportare il PDF annotato come nuovo PDF. Ciò dovrebbe mantenere il layout, i caratteri, ecc.

Con Xournal sceglieresti "Annota PDF", quindi usa un marcatore nero pieno per mascherare le parti che desideri redarre e "Esporta in PDF".

Ci sono alcune storie su Internet che suggeriscono che Xournal rasterizza il testo nel PDF esportato (grazie per averlo sottolineato, MHC). Ciò non sembra essere vero: con semplici annotazioni, il testo rimane selezionabile e ricercabile e la dimensione del file non aumenta di molto (è aumentata da 205 kb a 220 kb nell'esempio seguente).

Per installare, esegui in un terminale: sudo apt-get install xournalo selezionalo dal Software Center

Interfaccia Xournal PDF esportato risultante


Xournal è buono, ma devi sapere che può esportare solo PDF raster, il che significa che tutte le informazioni di testo e vettoriali vengono perse nel processo. Se puoi affrontarlo, Xournal è l'applicazione che preferisci.
Glutanimate,

1
Grazie per il feedback, @MHC. Xournal non rasterizza, vedi la risposta rivista per ulteriori informazioni.
Tomas,

3
L'ho provato da solo e hai perfettamente ragione. Dispiace per la confusione. Era da un po 'che non usavo Xournal e in qualche modo mi è rimasta l'impressione che i documenti esportati non fossero veri PDF. Grazie per averlo chiarito!
Glutanimate,

1
Funziona bene, ma non sono riuscito a trovare un modo pulito per redarre informazioni. Ho dovuto usare lo strumento di disegno per scarabocchiare che sembra molto disordinato e privo della professionalità che mi piacerebbe. Altrimenti, segui l'esportazione rasterizzando il contenuto in modo che non possa essere selezionato e scoperto.
flickerfly,

Per una vera redazione, che sostituisce i dati testuali con le immagini, combina questa risposta con @ balu che utilizza il convertcomando di ImageMajick .
colan

6

Puoi usare Okular.

sudo apt-get install okular
  1. Apri il pdf con Okular.
  2. Press F6.
  3. Press 8.
  4. Evidenzia il testo che desideri redarre.
  5. Fare clic con il tasto destro del mouse sul testo, selezionare proprietà, selezionare "Tipo" come "Evidenzia", ​​premere Ok.
  6. Stampa il file in un pdf.

4
Forse menziona come rendere l'evidenziazione nera.
equaeghe,

1
Okular può essere redatto con qualsiasi colore (nero) di queste funzioni: evidenziazione del testo, linea a mano libera e collegamenti poligonali con riempimento interno. È possibile salvare l'impostazione come proprio strumento di annotazione personalizzato. Usalo facilmente ancora e ancora. Quindi, quando si stampa il file in pdf, è necessario "forzare la rasterizzazione" per assicurarsi che la redazione non sia reversibile. Okular versione 1.1.3
shadowbq

È nero per impostazione predefinita, funziona con l'ultima versione di Okular. Grazie!
TheFrack

5

Riporto molti file PDF ogni giorno, quindi passo molto tempo a pensare a come farlo nel modo migliore.

Per me il modo migliore è dividere il PDF in un file PDF di 1 pagina, accanto alla modifica con GIMP, accanto alla combinazione. Non uso imagemagick su tutti i file (non lo uso affatto), quindi non perdo il livello di testo su tutte le pagine, ma solo su redatto. Non caricare l'intero file PDF in una sola volta, poiché causa l'esaurimento della memoria.

Dividi PDF in file di 1 pagina

Dividi facilmente i file PDF in PDF di 1 pagina che puoi con questa funzione bash (mettilo in ~ / .bashrc):

function pdf_split(){
    for file in "$@"; do
        if [ "${file##*.}" != "pdf" ]; then
            echo "Skip $file because it's not PDF file";
            continue
        fi; 
        pages=$(pdfinfo "$file" | grep "Pages" | awk '{print $2}') 
        echo "Detect $pages in $file";
        filename="${file%.*}";
        unset Outfile;
        for i in $(seq 1 "$pages"); do
            pdftk "$file" cat "$i" output "$filename-$i.pdf";
            Outfile[$i]="$filename-$i.pdf";
        done;
    done;
};

Ora puoi inserire split_pdf file.pdfper ottenere molti file PDF.

Redazione dei file

Ma ora devi modificare tutti questi file. Puoi farlo con gimp original-filename-*.pdf. Suggerisco di configurare il collegamento in GIMP (Finestra principale-> Modifica-> Collegamento) per sostituire il file (utilizzo CTRL + R), sfocatura filtro (ad es. CTRL + D), chiusura del file (ad es. CTRL + W) ed uscita da GIMP ( eg.CTRL + Q). Ricorda di non caricare GIMP in molti file contemporaneamente, ma GIMP mentre carichi dopo l'apertura, in modo da poterlo usare gimp original-filename-*.pdfsu migliaia di file in modo sicuro.

Combina file

Puoi combinare facilmente i file con: pdftk originam-filename-*.pdf cat output "new-file-anon.pdf";

Collegalo tutto insieme

Queste operazioni sono molto ripetitive e noiose, quindi collego tutto in uno script:

function pdf_redact(){
    for file in "$@"; do
        if [ "${file##*.}" != "pdf" ]; then
            echo "Skip $file because it's not PDF file";
            continue
        fi; 
        pages=$(pdfinfo "$file" | grep "Pages" | awk '{print $2}') 
        echo "Detect $pages in $file";
        filename="${file%.*}";
        unset Outfile;
        for i in $(seq 1 "$pages"); do
            pdftk "$file" cat "$i" output "$filename-$i.pdf";
            Outfile[$i]="$filename-$i.pdf";
        done;
        gimp "${Outfile[@]}";
        pdftk "${Outfile[@]}" cat output "$filename-anon.pdf";
        rm "${Outfile[@]}";

    read -p "Do you want open output file? " -n 1 -r
    echo    
    if [[ $REPLY =~ ^[Yy]$ ]]
    then
            evince "$filename-anon.pdf";
    fi

    read -p "Do you want upload output file to Scribd.com? " -n 1 -r
    echo 
    if [[ $REPLY =~ ^[Yy]$ ]]
    then
        scribd_up "$filename-anon.pdf";
    fi
    done;
};

La versione più recente di questo script è sempre accessibile su: http://dostep.jawne.info.pl/it/bashrc

Ricorda di chiudere GIMP (CTRL + Q) dopo tutta la redazione per continuare lo script.

Inoltre, come me, apro i file redatti (mi piace leggere per verificare se tutti) e come caricare su Scribd con il mio altro script - scribd_up , quindi ora posso redarre molti file PDF in modo molto efficiente.


2

Apri il PDF con lo strumento gratuito PDF-Xchange PDF Viewer . Annerisci il testo per essere redatto utilizzando rettangoli neri. Stampare. Ciò ti consentirà una redazione "falsa" semplice e di alta qualità.


Quello sembra essere uno strumento win32. Fammi sapere se ho perso il collegamento per la porta Linux ...
bstpierre,

3
Il visualizzatore PDF-Xchange portatile gratuito funzionerà con Wine.
Sabacon,

Grazie, questo ha funzionato perfettamente per me con il vino. Le soluzioni inkscape e gimp sono davvero utili solo per le redazioni a pagina singola.
Gearoid Murphy,

2

Usa LibreOffice Draw per la modifica rapida che stai cercando. Dopo aver finito puoi salvarlo come formato di LibreOffice Draw o esportarlo di nuovo in formato PDF ( File> Export as PDF)

inserisci qui la descrizione dell'immagine

Per poter importare file PDF in LibreOffice Draw devi prima installare il pacchetto libreoffice-pdfimport .

Installalo tramite Ubuntu Software Center ( libreoffice-pdfimport Installa libreoffice-pdfimport ) o tramite un terminale con sudo apt-get install libreoffice-pdfimport.


2

Puoi anche provare questo strumento: https://launchpad.net/updf

Eccolo (ma comunque, il testo è selezionabile):

inserisci qui la descrizione dell'immagine


1
uPDF è eccezionale in quanto conserva il PDF originale, il suo testo e il suo contenuto in formato svg. Tuttavia, sembra avere alcuni problemi con i livelli di compressione. I PDF modificati sono di circa 3-4 volte più grandi dell'originale. Grazie per aver pubblicato questo, però. Non ero a conoscenza di uPDF.
Glutanimate,

Sì, lo so che ha alcuni problemi, è un po 'difficile. Speriamo che le versioni più recenti correggano questi problemi ... :)
franzlorenzon,

Come accennato, uPDF ha molti bug (e nemmeno annulla / ripristina) ma nel mio caso è andato tutto bene, quindi grazie!
Balu,

2

Ricordo che una volta io e un collega abbiamo dovuto trovare un modo per modificare un paio di pdf, abbiamo finito per usare Gimp. Ti commenterò i dettagli ... apriamo il pdf direttamente con gimp (in un terminale)

gimp the_file.pdf

Una volta terminata la modifica, non abbiamo salvato le modifiche, invece di stamparle in file pdf ... Sembrava che funzionasse bene.


Per qualsiasi motivo, gimp rifiuta di consentirmi di apportare modifiche al file. Ho dovuto convertire prima con imagemagick convert, quindi modificare il file convertito. (Vedi risposta accettata.)
bstpierre,

ok, la soluzione di inkscape è valida. Ma ti ripeto, The Gimp può modificare direttamente i file pdf. = D
maniat1k,

Gimp sembra funzionare con la maggior parte dei file PDF, ma il file che stavo usando la scorsa notte non ha funzionato correttamente. Inkscape ha gestito correttamente quel file.
bstpierre,

2

PDF Studio è una risorsa non open-source ed è un software che richiede l'acquisto.

In termini di questa domanda, dalla versione 8 in poi ha una funzione di redazione manuale. Gli utenti possono selezionare un oggetto di testo e redarlo. Il contenuto viene rimosso dal PDF e sostituito con un rettangolo nero.

Nella versione 9 del terzo trimestre 2013, le annotazioni di redazione e la masterizzazione saranno disponibili anche per immagini e forme.


4
Per le domande frequenti , dovresti rivelare la tua affiliazione con il prodotto che stai promuovendo.
bstpierre,

Anche se questo è probabilmente più un annuncio promozionale che una risposta, devo dire che PDFstudio è davvero un ottimo software. Potrebbe essere un po 'troppo caro, ma è sicuramente la migliore suite di editing PDF per Linux. Assicurati almeno di provare la versione di prova .
Glutanimate,

2

Se non vuoi ricordare l'incantesimo corretto per convertte puoi usare pdf-redact-tools , uno script di shell che automatizza il processo di esplosione di un PDF in immagini PNG e la loro unione dopo la redazione (usando uno strumento di tua scelta, ad esempio gimp ). È convenientemente installabile apt-get .


+1 È il prodotto di Micah Lee e altri di First Look Media (editore di The Intercept). La sua pagina man è qui (per esempio) e alcune informazioni di base dal momento della sua uscita nel 2015 sono disponibili qui .
Caw

2

Dato che molte soluzioni qui raccomandano di ridurre / oscurare le annotazioni (che lasciano il contenuto originale nel pdf), mi raccomando di rasterizzare il pdf in seguito per rimuovere veramente il contenuto originale. (Non essere questo ragazzo .)

Ecco un modo per fare ciò che, allo stesso tempo, mantiene alta la qualità e la dimensione del file bassa (almeno nel mio caso di un mucchio di pagine in bianco e nero):

$  convert -quality 100 -density 180 -compress zip notreallyredacted.pdf trulyredacted.pdf

Nota: convertnecessita di ImageMagick.

Nota 2: convertnon conserva il contenuto dei moduli che potresti aver compilato. Affinché non si perda, potresti voler stampare il documento "su un file" in qualcosa come evinceprima (o in qualsiasi applicazione hai compilato il modulo) e quindi rasterizzarlo.


Ho appena aggiunto la correzione delle autorizzazioni. Questa risposta dovrebbe essere combinata con quella di Xournal.
colan

1

Il modo migliore che ho trovato per fare questo è usare http://www.pdfescape.com . Puoi annotare, aggiungere testo e immagini, disegnare un rettangolo "bianco" attorno alle cose che vuoi redarre e puoi scaricarlo e salvarlo rapidamente. Funziona anche molto bene con documenti a più pagine, il che è qualcosa con cui molte altre soluzioni non funzionano bene. Ad esempio, se apri un documento di più pagine in Gimp o Inkscape, sarai in grado di aprire solo una pagina alla volta. Il processo è molto più veloce in PDFescape. L'intero processo di redazione di un documento di 2 pagine richiede meno di un minuto.


1
Non cancella veramente i dati su cui hai dipinto. (Posso ancora cercarlo e "evidenzierà" di seguito).
Frank Nocke,

0

Esistono più editor per la modifica diretta di documenti PDF, ad esempio pdfedito per convertirli in altri formati vettoriali che potrebbero essere meglio supportati, ad esempio pstoedit. Tuttavia non consiglierei l'uso di nessuno di essi come il rischio di fare qualcosa di stupido, come semplicemente dipingere il testo con il nero mentre lasciare i vettori sul posto è facile, rendendo così banale la redazione da annullare.

Passare dal vettore al percorso bitmap è il modo più sicuro, preferibilmente il percorso bitmap 1 bit, per evitare potenziali problemi con i canali alfa o differenze di colore che potrebbero lasciare il testo leggibile.

Se possibile, dovresti sempre redarre il documento originale e rimuovere semplicemente le informazioni, non la vernice sul PDF, poiché anche la crenatura e la spaziatura del testo attorno al testo redatto possono darlo via.


Comprendo i problemi con la redazione in modo corretto, ma grazie per esserti preso cura di segnalarli a chiunque si presenti dopo. Nel mio caso, il PDF stesso è usa e getta - tutto quello che cerco è una copia cartacea. (Il PDF verrà eliminato non appena avrò una copia cartacea.) FWIW, pdfeditnon ha funzionato: quando ho disegnato un rettangolo nero sul testo in questione, mi ha rovinato il resto della pagina, lasciandomi con un documento costituito da un singolo rettangolo nero.
bstpierre,

0

Aggiungo all'elenco: Krita . Non si è verificata alcuna perdita di qualità, perché durante l'importazione di PDF è possibile definire dpi (impostarlo su 300, come diceva @Sergey). Dopo aver modificato premere "Esporta come PDF". Infine, trovo Krita più intuitivo di Gimp, dopo essere stato a lungo utente di Photoshop.


-1

Se usi LibreOffice per creare un file PDF, apri il documento in LibreOffice, evidenzia il testo da redarre, fai clic con il pulsante destro del mouse e seleziona il carattere, seleziona Sfondo e fai clic sul nero. Esporta in PDF.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.