Respuestas:
Curiosamente, hay casos de uso "legítimos" para esto, especialmente las personas con baja visión. Acrobat y otros lectores pueden anular los colores para mostrar (por ejemplo, Ctrl-I en Evince y a través del menú Accesibilidad en Acrobat Reader X), pero extrañamente no para imprimir. Sin embargo, lo que puede hacer es usar el convertidor pdf2ps de GhostScript (o un controlador de impresora PS falso que solo escribe el archivo) para obtener un archivo postscript, luego edite el archivo colocando
{1 exch sub} settransfer
como la primera línea del archivo y luego imprimir ese archivo PostScript. De esa forma, obtendrá una representación más fiel del documento de la que obtendría si convirtiera el PDF en una imagen y lo invirtiera.
pdf2ps
y ps2pdf
puedo exportar el pdf original a un archivo pdf invertido. Tengo curiosidad por saber qué hace la línea propuesta y si es posible "volver" a los colores originales.
Hay una manera fácil y técnica .
La forma técnica es que si tiene instalado Ghostscript y tiene su .../bin
carpeta agregada a su RUTA, debería poder invertir los colores de su PDF llamando a algo similar a lo siguiente desde la línea de comandos:
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
Tenga en cuenta que gswin64
(se encuentra en la .../bin
carpeta) podría llamarse gswin32
si descargó la versión de 32 bits, o algo completamente diferente si está en un sistema * nix en lugar de Windows, y que obviamente debe reemplazar C:/outputfile.pdf
y C:/inputfile.pdf
con las rutas reales de su archivo de entrada y ubicación prevista del archivo de salida. También tenga cuidado de que, en mi experiencia, a veces puede haber un poco de problema si tiene espacios en sus directorios de ruta, incluso si pone comillas alrededor de ellos.
También vale la pena señalar que iirc algunas versiones de Ghostscript pueden fallar en esto a menos que coloque la {1 exch sub}{1 exch sub}{1 exch sub}{1 exch sub} setcolortransfer
línea en un .ps
archivo separado y simplemente agregue el .ps
archivo a su comando.
(Esta es realmente una versión más detallada de Mateen Ulhaq
la respuesta anterior)
La manera fácil es que si no se molesta en hacer nada de lo anterior, puede usar el sitio web InvertPDF.com que hará todo esto (y un poco más) por usted. Este es mi propio sitio web, y me topé con este hilo mientras intentaba construirlo. Espero que esta respuesta facilite que la próxima persona que intente lograr algo similar o cree su propio script fuera de línea.
De acuerdo con esta página , puede lograrlo con ImageMagick. Sin embargo, el PDF se convertirá en imágenes antes de invertirlo. Si la calidad no es suficiente debido a esto, debería poder ajustar el número de DPI.
convert -density 300 -negate "input.pdf[1-999]" output.pdf
Reemplace 300
con su DPI deseado y 1-999
con su rango de página deseado.
NOTA : Este comando es para una versión anterior de ImageMagick y deberá asegurarse de que las utilidades heredadas estén instaladas.
En Acrobat Reader X
Editar-> Preferencias-> accesibilidad Seleccionar: reemplazar colores del documento Seleccionar: color personalizado
Establezca las opciones restantes de acuerdo con sus preferencias personales.
Nota: Esto no cambia el documento, solo su vista y la forma en que se imprime.
Ninguna de las soluciones publicadas anteriormente funcionó para mí, así que escribí este simple script bash. Depende de pdftk
y awk
. Simplemente copie el código en un archivo y hágalo ejecutable. Luego ejecútalo como:
$ /path/to/this_script.sh /path/to/mypdf.pdf
La secuencia de comandos:
#!/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
Este script funciona para mí, pero su kilometraje puede variar. En particular, a veces los colores se enumeran en el formulario en 1.000 1.000 1.000
lugar de 1 1 1
. El script se puede modificar fácilmente según sea necesario. Si lo desea, también se pueden agregar conversiones de color adicionales.
Si desea una escala de grises más agradable y está de acuerdo con convertir su documento en imágenes, tírelo a un archivo .bat y luego simplemente arrastre su PDF al archivo .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
Requiere que se instale Ghostscript para el primer comando (especifique la ruta correcta). Requiere que ImageMagick con utilidades heredadas se instale para el segundo comando.
Muchos sugirieron usar el método Editar-> Preferencia-> Accesibilidad , pero lamentablemente no funcionó para mí. Después de probar y jugar con la configuración de PDF, ¡logré obtener lo que quería!
¡Esto debería funcionar!
¡Nota IMPORTANTE!
Sugeriría imprimir este archivo a un PDF que directamente. ¡Especialmente si tiene la intención de imprimir varias páginas en una página, ya que el espacio en blanco también se volverá negro!
Por último, si va a imprimir el documento como otro PDF, en Tamaño y manejo de la página , haga clic en Ajustar y marque ambas casillas: " Elegir tamaño de papel cuando sea necesario " y Usar tamaño de papel personalizado cuando sea necesario . (Para evitar espacios en blanco no deseados)
¡Espero que esto ayude!
Usar ImageMagick funcionó para mí, aunque el archivo de salida es aproximadamente 50 veces más grande que el de entrada.
convert -density 300 -negate input_file.pdf output_file.pdf