Cálculo de área de cobertura de toner/tinta em uma impressão

Publicado por Adriano H. Hedler (última atualização em 01/10/2014)

[ Hits: 13.315 ]

Homepage: http://www.vivaolinux.com.br

Download cobertura.sh




Calcula a impressão e cobertura em percentual do CMYK de uma impressão.
Serve tanto para impressão em laser/tinta colorida e para serviços de offset.
Ajuda na decisão entre usar offset ou impressão digital, para avaliação do gasto.

  



Esconder código-fonte

#!/bin/bash

# Autor: Adriano Hedler - TemploSite.com
# Data: 27/09/2014
# Calcular área de cobertura de impressão em arquivo PDF
# Calcula o tanto de toner que cobrirá a impressão em um arquivo baseado em CMYK.
# Utiliza Ghostscript / Depende do gs para executar
# Funciona para arquivo com 1 página e em PDF somente.

# Forma de funcionamento:
# ./cobertura arquivo.pdf

# O percentual representa a quantidade de cobertura no formato (tamanho) que está presente no arquivo, não na folha impressa.
# Exemplo: Arquivo com 10x10cm, significa que nesta área o percentual de cobertura total será o resultado. dentro de 10x10cm.
# Arquivos em CMYK representam as cores em percentual: C=0-100% e M=0-100% e Y=0-100% e B=0-100%;
# Assim, com este script, sabemos quanto no total iremos somar destas cores em suas proporções.

# Leitura do CMYK do PDF // Só funciona com CMYK:
COBERTURA=$(gs -o - -sDEVICE=inkcov "$1" | grep -e "^.[0-9]" | cut -d " " -f 1-8 | sed 's/ /\n/g' | sed ' /^$/d' | awk '/[0-9]/ {sum=sum+$0} END {print sum}')

# Calculo e mensagem:
echo -n "O Percentual de cobertura deste arquivo é: "; printf "%.2f" $(echo "$COBERTURA * 100" | bc | tr '.' ','); echo "%"

Scripts recomendados

Procura Arquivos

telefone

Script para instalação do java no kurumin 4

Script para mostrar IP, usando zenity

Previsão do tempo em cores no terminal


  

Comentários
[1] Comentário enviado por barnabedikartola em 20/11/2016 - 17:38h

salve, kra ajudou muito, mas eu tava precisando calcular cada cor separada alem de calcular em preto e branco, usei seu script como base e fiz um novo, compartilho aki.

para colorido CMYK:

#!/bin/bash
#foi usado como base de conhecimento o script feito por Adriano H. Hedler (https://www.vivaolinux.com.br/script/Calculo-de-area-de-

#depende do pacote pkpgcounter instalado
#para instalar em debian e ubuntu derivados:
#sudo apt update && sudo apt install pkpgcounter

# Forma de funcionamento:
# ./cobertura-cmyk.sh arquivo.pdf

cobertura-de-tonertinta-em-uma-impressao)
pkpgcounter -c cmyk "$1" > /tmp/countercmyk

paginas=$(pkpgcounter "$1")

ciano=$(cat /tmp/countercmyk | awk '{print $3}' | cut -d "%" -f 1 | awk '{sum=sum+$0} END {print sum}')
magenta=$(cat /tmp/countercmyk | awk '{print $6}' | cut -d "%" -f 1 | awk '{sum=sum+$0} END {print sum}')
amarelo=$(cat /tmp/countercmyk | awk '{print $9}' | cut -d "%" -f 1 | awk '{sum=sum+$0} END {print sum}')
preto=$(cat /tmp/countercmyk | awk '{print $12}' | cut -d "%" -f 1 | awk '{sum=sum+$1} END {print sum}')

echo -n "Esse arquivo contem" $paginas; echo " paginas"
echo -n "O Percentual de cobertura de Ciano é: "$(echo "scale=2;"$ciano/$paginas"" | bc); echo "%"
echo -n "O Percentual de cobertura de Magenta é: "$(echo "scale=2;"$magenta/$paginas"" | bc); echo "%"
echo -n "O Percentual de cobertura de Amarelo é: "$(echo "scale=2;"$amarelo/$paginas"" | bc); echo "%"
echo -n "O Percentual de cobertura de Preto é: "$(echo "scale=2;"$preto/$paginas"" | bc); echo "%"


Para Preto e Branco:

#!/bin/bash
#foi usado como base de conhecimento o script feito por Adriano H. Hedler (https://www.vivaolinux.com.br/script/Calculo-de-area-de-

#depende do pacote pkpgcounter instalado
#para instalar em debian e ubuntu derivados:
#sudo apt update && sudo apt install pkpgcounter

# Forma de funcionamento:
# ./cobertura-pb.sh arquivo.pdf

cobertura-de-tonertinta-em-uma-impressao)
pkpgcounter -c bw "$1" > /tmp/counterpb

paginas=$(pkpgcounter "$1")

preto=$(cat /tmp/countercmyk | awk '{print $3}' | cut -d "%" -f 1 | awk '{sum=sum+$1} END {print sum}')

echo -n "Esse arquivo contem" $paginas; echo " paginas"
echo -n "O Percentual de cobertura de Preto é: "$(echo "scale=2;"$preto/$paginas"" | bc); echo "%"

[2] Comentário enviado por adrianoh2 em 20/11/2016 - 20:32h


[1] Comentário enviado por barnabedikartola em 20/11/2016 - 17:38h
salve, kra ajudou muito, mas eu tava precisando calcular cada cor separada alem de calcular em preto e branco, usei seu script como base e fiz um novo, compartilho aki.
para colorido CMYK:



Excelente cara! Na época, eu fiz isso para resolver só um problema de cobrança adicional caso o material tivesse cobertura excessiva na impressão. Normalmente cartaz. Permite que eu atualize com teu script e poste os devidos créditos como versão mais atualizada? Ou melhor, poderia colocar como script lá na seção para disponibilizar a todos. Acho importante ter isso, praticamente não há material para parte gráfica e recursos como este para que usa o Linux com softwares gráficos.

Outra coisa, tentei também pesquisar recursos na área de imposição, e me parece que este software faz isso também, como dispor páginas PDF em um outro PDF para aproveitamento de papel.

Sua contribuição foi excelente! Parabéns pela iniciativa!


Contribuir com comentário