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: 12.789 ]

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

Speedy

Script simples para encerrar conexões

Limpar pacotes com versões antigas do cache do apt

script-firewall 0.01

Instalador


  

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts