Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Curso de Inglês Online

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Livros no formato A5 - Economize folhas imprimindo 4 páginas em uma folha A4

Colaboração: Carlos J.

Data de Publicação: 20 de Março de 2006

A idéia abaixo surgiu quando quis imprimir um livro em A5 (A5 é metade de uma A4 que é a folha que se compra normalmente na papelaria e a impressora usa).

Como A5 é metade da A4, é possível imprimir 4 páginas do livro usando apenas uma folha A4, o que é bem econômico. Um livro de 100 páginas usaria 25 páginas A4 apenas (frente e verso).

Mas há um problema: na hora de agrupar as folhas em 2 e imprimir, acaba saindo errado. Por exemplo, de um lado imprime as páginas 1 e 2, do outro, 3 e 4. Se eu dobrar esse papel, a página 3 fica atrás da página 1. O desejável é que a página 2 fique atrás da página 1. Se mandar imprimir apenas as páginas ímpares e agrupar em 2 folhas por página, vão sair as páginas 1 e 3 na frente e 4 e 2 no verso, por causa da ordem do agrupamento.

É frustante a ordem sair ao contrário do que se espera

Confesso que é um caso bem específico, mas ainda assim foi um dificuldade.

Com um software que se encontra na internet (http://www.freshmeat.net ajuda), o joinPDF, é possível quebrar o PDF e reordenar as páginas de uma forma que, quando agrupadas, a impressão saia na ordem correta (frente: página 1, verso: página 2)

Segue o script que me ajudou a tornar isso possível:

  #!/bin/sh
  
  #
  #  Reordena um arquivo PDF em A5 para poder virar um livro
  #  a ser impresso em A4. No final, basta imprimir as páginas
  #  ímpares e no verso as pares do arquivo final.
  #
  
  if [ "X$1" == "X" -o "$1" == "-h" -o "$1" == "--help" ]; then
  echo "Uso: $0 <arquivo pdf> [arquivo saida]"
  exit
  fi
  
  if [ ! -f "$1" ]; then
  echo "Arquivo $1 não existe."
  exit
  fi
  
  a=`/usr/bin/splitPDF "$1" | wc -l `
  
  # Há 1 entrada q não se referem à página gerada.
  sizeA=$(( $a - 1 ))
  
  if [ $(( $sizeA % 4 )) != 0 ]; then
  echo -e "Aviso: arquivo não contêm número de páginas divisível por 4
           Pode sair errado o ordenamento das folhas
  	 Favor gerar, mesmo em bran co, as páginas restantes."
  fi
  
  cont=0;
  start=-2
  
  arrCfg[0]=3
  arrCfg[1]=2
  arrCfg[2]=1
  arrCfg[3]=-2
  
  joinStr=""
  
  arqName=`basename $1 .pdf`
  
  while [ $cont -lt $sizeA ];
  do
  # A ordem das páginas deve ser 1 e 3 na 1a folha e 4 e 2 no verso,
  # para que quando cortadas, fique 1 e 2, 3 e 4.
  # A sequência das folhas a serem juntadas seria:
  # 1,3,4,2, 5,7,8,6, 9,11,12,10, ...
  #
  # Resolvi o problema obtendo a diferença entre os elementos.
  # o q gera um ciclo de 4 estágios (+3, +2, +1, -2).
  #
  
  start=$(( $start + ${arrCfg[ $(( $cont % 4 )) ]} ))
  
  joinStr="$joinStr ${arqName}_page${start}.pdf"
  
  cont=$(( $cont + 1 ))
  done
  
  if [ "X$2" == "X" ]; then
  arqFinal="${arqName}_final.pdf";
  echo "Arquivo de saída não especificado, assumindo $arqFinal"
  else
  arqFinal=$2;
  fi
  
  arqName="__$arqName"
  
  /usr/bin/joinPDF $arqName $joinStr > /dev/null
  
  rm -f $joinStr
  
  pdftops -paper match $arqName - | psnup -q -pa4 -Pa5 -2 | ps2pdf -sPAPERSIZE=a4 - $arqFinal
  
  rm -f $arqName

Veja a relação completa dos artigos de Carlos J.

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.00/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1508 votos)

Opinião dos Leitores

Josue
10 Mar 2011, 18:08
Eita! Pra quê todo o trabalhão?
Em praticamente todos os programas de texto (inclusive o Adobe Reader) possui em sua opção de impressão algo como: livreto!
Daí ele ordena as páginas de forma que saem já preparadas para apenas cortar
Abraço
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Lan University

Submarino.com.br

Encontre imóveis, apartamentos e casas a venda no Imobilien
Saiba mais

 

 

Procure pela casa ou apartamento ideal à venda ou para aluguel na busca inteligente do Imohoo
Buscar imóveis