È possibile invertire i colori del testo e dello sfondo in un PDF durante la stampa?


18

Ho un PDF esistente con uno sfondo totalmente nero e tutto il testo è bianco.

C'è un modo per far stampare il testo in nero e lo sfondo nero per non stamparlo affatto?

Ho Bluebeam e Adobe PDF.

Risposte:


12

Stranamente ci sono casi d'uso "legittimi" per questo, in particolare le persone con problemi di vista. Acrobat e altri lettori possono sovrascrivere i colori per la visualizzazione (ad es. Ctrl-I in Evince e tramite il menu Accessibilità in Acrobat Reader X) ma stranamente non per la stampa. Quello che puoi fare, tuttavia, è utilizzare il convertitore pdf2ps di GhostScript (o un driver di stampante PS falso che scrive solo il file) per ottenere un file PostScript, quindi modificare il file inserendo

{1 exch sub} settransfer 

come prima riga nel file e quindi stampare quel file PostScript. In questo modo otterrai un rendering del documento più fedele di quanto faresti se convertissi il PDF in un'immagine e lo invertissi.


1
Ho fatto qualcosa del genere (su Windows) installando un driver di stampante PostScript e poi dicendo di stampare su file per catturare l'output. Lo stesso concetto dovrebbe funzionare su altri sistemi operativi. Va notato che i file PostScript sono solo file di testo che possono essere modificati con la maggior parte degli editor di testo.
martineau,

Usando una combinazione di pdf2pse ps2pdfposso essere in grado di esportare il pdf originale in un file pdf invertito. Sono solo curioso di sapere cosa fa la linea proposta e se è possibile "ripristinare" i colori originali.
tigerjack89,

3

C'è un modo semplice e un modo tecnico .

Il modo tecnico è che se hai Ghostscript installato e hai la sua .../bincartella aggiunta al tuo PATH, dovresti essere in grado di invertire i colori del tuo PDF chiamando qualcosa simile al seguente dalla riga di comando:

gswin64 -o C:/outputfile.pdf -sDEVICE=pdfwrite -c "{1 exch sub}{1 exch sub}{1 exch sub}{1 exch sub} setcolortransfer" -f C:/inputfile.pdf

Nota che gswin64( che si trova nella .../bincartella) potrebbe essere chiamato gswin32se hai scaricato la versione a 32 bit o qualcos'altro se stai utilizzando un sistema * nix anziché Windows, e che dovresti ovviamente sostituire C:/outputfile.pdfe C:/inputfile.pdfcon i percorsi effettivi del tuo file di input e posizione del file di output previsto. Fai anche attenzione che nella mia esperienza a volte ci possano essere dei problemi se hai spazi nelle directory del tuo percorso, anche se metti delle virgolette attorno a loro.

Vale anche la pena notare che iirc alcune versioni di Ghostscript potrebbero non riuscire su questo a meno che non si inserisca la {1 exch sub}{1 exch sub}{1 exch sub}{1 exch sub} setcolortransferriga in un .psfile separato e si aggiunga semplicemente il .psfile al comando.

(Questa è davvero solo una versione più raffinata della Mateen Ulhaqrisposta di cui sopra)

Il modo semplice è che se non si può essere disturbati a fare quanto sopra, è possibile utilizzare il sito Web InvertPDF.com che farà tutto questo (più un po 'di più) per te. Questo è il mio sito Web e mi sono imbattuto in questo thread mentre stavo cercando di costruirlo. Spero davvero che questa risposta renda più facile per la prossima persona che cerca di ottenere qualcosa di simile o che crea il proprio script offline.


2

Secondo questa pagina , potresti essere in grado di realizzarlo con ImageMagick. Tuttavia, il PDF verrà convertito in immagini prima di essere invertito. Se la qualità non è sufficiente per questo motivo, dovresti essere in grado di regolare il numero DPI.

convert -density 300 -negate "input.pdf[1-999]" output.pdf

Sostituisci 300con il DPI desiderato e 1-999con l'intervallo di pagine desiderato.

NOTA : questo comando è per una versione precedente di ImageMagick e sarà necessario assicurarsi che siano installate utilità legacy.

Utilità legacy


@ fixer1234 Grazie per avermi portato alla mia attenzione. Ho aggiunto un link a quella pagina su Internet Archive.
bdr9

1

In Acrobat Reader X

Modifica-> Preferenze-> accessibilità Seleziona: Sostituisci colori documento Seleziona: Colore personalizzato

Impostare le opzioni rimanenti in base alle preferenze personali.

Nota: questo non cambia il documento, solo la tua vista e il modo in cui viene stampato.


Non stampa in modo diverso rispetto all'originale AFAICT
mike65535

1

Nessuna delle soluzioni precedentemente pubblicate ha funzionato per me, quindi ho scritto questo semplice script bash. Dipende da pdftke awk. Basta copiare il codice in un file e renderlo eseguibile. Quindi eseguilo come:

$ /path/to/this_script.sh /path/to/mypdf.pdf

Il copione:

#!/bin/bash                                                                      
pdftk "$1" output - uncompress | \                                               
awk '                                                                            
  /^1 1 1 / {                                                                    
    sub(/1 1 1 /,"0 0 0 ",$0);                                                   
    print;                                                                       
    next;                                                                        
  }                                                                              

  /^0 0 0 / {                                                                    
    sub(/0 0 0 /,"1 1 1 ",$0);                                                   
    print;                                                                       
    next;                                                                        
  }                                                                              

  { print }' | \                                                                 
pdftk - output "${1/%.pdf/_inverted.pdf}" compress

Questo script funziona per me, ma il tuo chilometraggio può variare. In particolare a volte i colori sono elencati nel modulo 1.000 1.000 1.000anziché 1 1 1. Lo script può essere facilmente modificato secondo necessità. Se lo si desidera, è possibile aggiungere anche ulteriori conversioni di colore.


0

Se desideri una scala di grigi più gradevole e sei d'accordo con la conversione del documento in immagini, lancialo in un file .bat e trascina semplicemente il tuo PDF nel file .bat.

"C:\Program Files\gs\gs9.20\bin\gswin64c" -o inverted.pdf -sDEVICE=pdfwrite -c "{1 exch sub}{1 exch sub}{1 exch sub}{1 exch sub} setcolortransfer" -f %1
convert -brightness-contrast 3,-18 -compress lzw  -density 300 -colorspace Gray inverted.pdf output.pdf

Richiede l'installazione di Ghostscript per il primo comando (specificare il percorso corretto). Richiede ImageMagick con utility legacy da installare per il secondo comando.


0

Molti hanno suggerito di usare il metodo Modifica-> Preferenze-> Accessibilità , ma purtroppo non ha funzionato per me. Dopo aver testato e giocato alle impostazioni PDF, sono riuscito a ottenere quello che volevo!

  • Vai a Stampa (Ctrl + P)
  • Fai clic su Impostazioni avanzate
  • Controlla impostazioni: personalizzato
  • Fai clic su Output dal pannello di sinistra
  • In Colore: selezionare Composite Grey
  • Seleziona la casella Negate
  • Clicca OK

Questo dovrebbe fare il trucco!

Nota importante!
Suggerirei di stampare questo file su un PDF che direttamente. Soprattutto se hai intenzione di stampare più pagine in una sola pagina, poiché anche gli spazi bianchi diventeranno neri!

Infine, se hai intenzione di stampare il documento come un altro PDF, in Dimensionamento e gestione delle pagine , fai clic su Adatta e seleziona entrambe le caselle: " Scegli formato carta quando necessario " e Usa formato carta personalizzato quando necessario . (Per evitare spazi bianchi indesiderati)

Spero che questo aiuto!


Questo è specifico per il driver della stampante
Mark Jeronimus,

-1

L'uso di ImageMagick ha funzionato per me, sebbene il file di output sia circa 50 volte più grande di quello di input.

convert -density 300 -negate input_file.pdf output_file.pdf

La riga di comando (in luinux) era: convert -density 300 -negate input_file.pdf
output_file.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.