una texto para online letra imprimir imagen fondo cómo como color cambiar azul archivo windows pdf colors ghostscript color-profile

windows - para - Cambiar el texto y el color de fondo de un archivo PDF



cómo cambiar el color del texto en un archivo pdf (3)

Me gustaría cambiar el color de fondo y el color del texto mediante programación en documentos PDF para que sean más agradables de leer por la noche (como en Adobe Reader: Edición -> Preferencias -> Accesibilidad -> Reemplazar colores del documento ).

¿Hay alguna buena herramienta de línea de comandos o API para Windows que pueda hacer eso?

Hasta ahora no he encontrado ninguno. Está bien si necesita guardar el PDF recién coloreado en un nuevo archivo.


Como solicitó una API, lanzaré una posibilidad adicional en la mezcla. De hecho, es posible escribir un complemento para Adobe Acrobat (también debería ser posible para Adobe Reader, pero los complementos de Reader son más difíciles) que interfiere con la visualización.

Hace mucho tiempo, escribí código para Enfocus PitStop para implementar un modo de representación de estructura alámbrica para archivos PDF dentro de Adobe Acrobat. Haga clic en un botón y la pantalla cambiará a estructura alámbrica, haga clic de nuevo y tendrá su vista normal. Esto funciona porque puede (como complemento) modificar la lista de visualización (la lista de objetos) dibujada por Acrobat.

Esto significa que para dibujar su modo de visualización especial podría crear una nueva lista de visualización (o modificar la existente) para que tenga un rectángulo en la parte posterior del color que desea y luego modificar el color de todos los objetos en la pantalla lista para satisfacer sus necesidades

Esto es relativamente complejo, lo que lo hace más complejo es que, si no desea que sus cambios afecten al archivo PDF en el disco, debe interceptar una gran cantidad de notificaciones de Acrobat y deshacer los cambios. Por ejemplo, si el usuario intenta guardar el documento PDF mientras lo visualiza en su modo de visualización, debe asegurarse de que se lo advierta y de deshacer los cambios durante el guardado. Adobe Acrobat lo hace posible porque envía notificaciones antes y después del proceso de guardado, pero sigue siendo un trabajo serio para asegurarse de que nada se arruine.

Pero es una forma absolutamente genial y muy flexible de implementar lo que buscabas. Solo asegúrate de tener más de un par de semanas para implementarlo :)


No hay forma de hacerlo directamente, sin ninguna herramienta (de Software Libre o gratis) de la que tenga conocimiento. (Porque en el caso general, tendrá que cambiar todos los colores de las páginas PDF, no solo el fondo solo, por lo que aún puede tener algunas diferencias de contraste y color).

Lo que usted describe para Adobe Reader no cambia el archivo PDF en sí, sino que cambia la forma en que la aplicación procesa las páginas (invirtiendo colores o similar). El PDF sigue siendo el mismo durante y después de verlo.

Sin embargo, es posible que pueda lograr algo similar aplicando un perfil de color ICC adecuado al PDF de entrada y produzca, con la ayuda de (una versión muy reciente de) Ghostscript, un nuevo PDF de salida a partir de este.

La pregunta permanecería: ¿qué es un perfil de color ICC "adecuado" para su propósito?

En breve he considerado aplicar un fondo gris-ish al PDF con la ayuda de pdftk ... background ... línea de comandos. Pero esto probablemente haría ilegibles algunos o muchos archivos PDF. (Un fondo negro seguramente lo haría ilegible, porque la mayoría del texto es negro y lo seguiría siendo).

Para crear una página PDF (tamaño A4) que podría servir como fondo gris, puede usar Ghostscript: gs -o gray.pdf -sDEVICE=pdfwrite -g5950x8420 -c ".8 setgray 0 0 595 842 rectfill showpage" .

Luego, aplíquelo a su PDF original (A4): pdftk original.pdf background gray.pdf output orig-with-backgr.pdf .

Tenga en cuenta que esto solo cambiará el fondo de estas páginas (o aquellas áreas de páginas), donde el fondo original es transparente, como la mayoría de los PDF basados ​​en texto. No funcionará para páginas o áreas donde el fondo sea blanco opaco o color.)

También puede lograr un cambio de color permanente (colores inversos) con bastante facilidad con la ayuda de ImageMagick. Pero esto al mismo tiempo masticará y hará carne picada de sus agradables vectores PDF, convirtiéndolos en páginas de imágenes de trama completa: convert nice.pdf -alpha off -invert inverted-colors-ugly-raster.pdf .

Finalmente, aquí hay una forma poco confiable de lograr la inversión de colores con la ayuda de Ghostscript. Establece una función de transferencia de datos para el archivo PDF de salida:

gs -o output.pdf / -sDEVICE=pdfwrite / -c "{1 exch sub}{1 exch sub}{1 exch sub}{1 exch sub} setcolortransfer" / -f input.pdf

No es confiable, porque no todos los visualizadores de PDF respetarán esa configuración . Lo he probado algunas veces en el pasado ...

Estos espectadores MUESTRAN colores invertidos:

  1. Adobe Reader
  2. Adobe Acrobat
  3. gv
  4. Ghostscript / gs
  5. El procesador de PDF nativo de Chrome ( ''pdfium'' )

Estos NO MUESTRAN colores invertidos:

  1. Chrome con PDF.js
  2. Firefox con PDF.js
  3. Zathura
  4. MuPDF

En caso de que el OP no necesite cambiar los colores del documento PDF de forma permanente , solo quiere un visor de PDF que no sea Acrobat que pueda cambiar de forma similar los colores mostrados ...

MuPDF: MuPDF es un visor de PDF ligero (entre otras cosas). Puede invertir los colores mostrados con el simple recorrido de la i para cualquier documento mientras está abierto. MuPDF también está disponible para Windows (y iOS, y Android, y OSX, y Linux). (Está hecho por la misma compañía que nos trajo Ghostscript).

Capturas de pantalla de MuPDF aquí: vista "normal" (izquierda) e "invertida" (derecha)

SumatraPDF: este es un visor de PDF alternativo muy popular para Windows. Su motor de renderizado PDF se basa en MuPDF. Golpeando en el modo de presentación, cambia el fondo a negro. Al presionar w en el modo de presentación, cambia el fondo a blanco. (No creo que también pueda invertir todos los colores, pero no tengo la última versión disponible en este momento para comprobarlo). Para iniciar agregando -invert-colors a la línea de comando, invertirá los colores para el documento renderizado.

Zathura: Un visor de PDF ligero para Linux y OSX, que se puede controlar mediante atajos de teclado similares a Vim. ctrl + r volverá a colorear la representación de cualquier documento abierto. El fondo cambiará a oscuro, los textos cambiarán a gris brillante (sin embargo, no invertirá una, digamos texto azul a amarillo, como lo hace MuPDF). No estoy seguro si está disponible en Windows también.

Evince: El visor de PDF Gnome, disponible para Linux, OSX y Windows. Puede invertir los colores del documento abierto también; el atajo de teclado es ctrl + i .

XPDF: XPDF es un visor de PDF bastante antiguo para Unix + Linux (no estoy seguro si hay una versión de Windows disponible, tal vez en Cygwin). Tiene una opción de inicio en su línea de comando: xpdf -rv -papercolor "#333333" file.pdf invertirá los colores ( -rv es para video inverso , -papercolor permite cambiar el fondo a algo diferente de negro puro [como cualquier el blanco invertido se convertiría en]).