Risposte:
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.
pdf2ps
e ps2pdf
posso 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.
C'è un modo semplice e un modo tecnico .
Il modo tecnico è che se hai Ghostscript installato e hai la sua .../bin
cartella 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 .../bin
cartella) potrebbe essere chiamato gswin32
se 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.pdf
e C:/inputfile.pdf
con 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} setcolortransfer
riga in un .ps
file separato e si aggiunga semplicemente il .ps
file al comando.
(Questa è davvero solo una versione più raffinata della Mateen Ulhaq
risposta 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.
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 300
con il DPI desiderato e 1-999
con l'intervallo di pagine desiderato.
NOTA : questo comando è per una versione precedente di ImageMagick e sarà necessario assicurarsi che siano installate utilità legacy.
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.
Nessuna delle soluzioni precedentemente pubblicate ha funzionato per me, quindi ho scritto questo semplice script bash. Dipende da pdftk
e 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.000
anziché 1 1 1
. Lo script può essere facilmente modificato secondo necessità. Se lo si desidera, è possibile aggiungere anche ulteriori conversioni di colore.
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.
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!
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!
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