Obtenga una lista de páginas en color separadas por comas en PDF

0

¿Cómo obtengo una lista separada por comas de todas las páginas en color en mi archivo PDF?

Gracias a esta respuesta Puedo obtener una lista de todos los números de página y una nota para una página en color.

gs -o - -sDEVICE=inkcov input.pdf | grep -v "^ 0.00000  0.00000  0.00000" | \
   grep "^ \|^Page"

La salida sería:

Page 1
 0.16646  0.16261  0.14122  0.13507 CMYK OK
Page 2
Page 3
 0.48488  0.48728  0.48794  0.16678 CMYK OK
Page 4
 0.47346  0.47703  0.47624  0.46490 CMYK OK
Page 5

¿Cómo modifico la salida para devolver solo las páginas con color en una lista separada por comas?

El resultado debería ser algo así:

1, 3, 4
wittich
fuente

Respuestas:

0

Bien, encuentro una manera de generar una lista separada por comas de las páginas en color en un PDF:

gs -o - -sDEVICE=inkcov test.pdf | \
  grep -v "^ 0.00000  0.00000  0.00000" | \
  grep "^ \|^Page" | \
  paste -sd, | \
  grep -Eo '[0-9]{1,3}, ' | \
  tr -d '\n'

Probablemente no sea la forma más elegante, pero funciona.

El código hace lo siguiente:

  • toma la misma salida como en la pregunta anterior y reemplaza las nuevas líneas con una coma

    paste -sd,
    
  • a continuación, busque números entre 1-999 seguidos de una coma (la nueva línea repalificada) y un espacio vacío, ya que la nota de color siempre comienza con un signo de espacio vacío

    grep -Eo '[0-9]{1,3}, '`
    
  • Al final, quita de nuevo las nuevas líneas de la salida.

    tr -d '\n'
    
  • El resultado sería:

    1, 3, 4,

wittich
fuente