NOTA 1: A resposta aceita ainda está na maior parte correta, mas possui algumas lacunas. Falta que muitos arquivos PDF não sejam diretamente editáveis como texto. Mesmo quando estão, essa edição às vezes pode danificar o PDF, tornando-o ilegível. Uma solução que funcionará para o Unix e o Microsoft Windows é o qpdf, que pode converter arquivos PDF em "QDF", um formulário editável em texto que ainda é um arquivo PDF válido. O qpdf
pacote vem com fix-qdf
que recalcula as compensações após a edição de um arquivo QDF para corrigir qualquer dano.
NOTA 2: Desconfortável com editores de texto? Tente usar um editor de GUI como o jpdftweak primeiro. Às vezes, os editores de PDF da GUI funcionam; nesse caso, sim, você está pronto. No entanto, quando eles falham, como costuma ser o meu caso, você pode tentar esta alternativa mais robusta. De qualquer forma, por favor, não vote na minha resposta por ser menos que elegante.
COMO editar números de páginas PDF usando o Qpdf
Resumo:
qpdf -qdf foo.pdf foo.qdf
editar foo.qdf
0 << >> % No label on first pages
6 << /S /D >> % Start numbering from 7th page.
fix-qdf foo.qdf >bar.qdf
- test bar.qdf
qpdf bar.qdf bar.pdf
Etapas detalhadas
Passo 1.
Converta o documento para o formato QDF facilmente editável. Execute o qpdf na linha de comando da seguinte maneira:
qpdf -qdf foo.pdf foo.qdf
Nota: Se você ainda não possui o qpdf instalado, é possível fazer o download dos executáveis do Microsoft Windows em https://github.com/qpdf/qpdf/releases sistemas Unix, como Ubuntu e Debian GNU / Linux, podem ser instalados digitandoapt install qpdf
.
Passo 2.
Edite o documento QDF usando um editor de texto como o notepad ++, emacs ou gedit. Pesquise a palavra /Catalog
e observe os << colchetes angulares >> que estão dentro. Nas proximidades, você encontrará o atual /PageLabels
( se houver ).
Nós estaremos adicionando cada seção que deve ser numerada diferentemente ao /PageLabels
. O formato é start-page
<< style
>>. Observe que o espaço em branco não importa e que a primeira página do documento é 0
. Salvo indicação em contrário, uma nova seção sempre inicia a numeração de páginas de 1.
Exemplos
Aqui está um exemplo completo da aparência de PageLabels, com comentários adicionados:
/Type /Catalog
/PageLabels <<
/Nums [
0 % From the first page of the document,
<<
/S /r % ...use the lowercase roman numeral style.
>>
6 % From seventh page onward,
<<
/S /D % ...use ordinary digits (arabic numerals)
>>
]
>>
Se o arquivo não tiver rótulos de página, adicione-os depois /Type /Catalog
. Por exemplo, pode-se mudar,
1 0 obj
<<
…
/Type /Catalog
>>
endobj
para dentro,
1 0 obj
<<
…
/Type /Catalog
/PageLabels
<< /Nums [
0 << >> % No label for cover
1 << /S /r >> % i, ii for index
3 << /S /D /St 15 >> % 15, 16, 17, ... for article
31 << /S /D /P (A-) >> % A-1, A-2, A-3... for appendix
]
>>
>>
endobj
OPCIONAL: INÍCIO DE UM NÚMERO DIFERENTE COM /St
Cada seção reinicia a numeração em 1, a menos que você indique o contrário /St
. Observe como no exemplo acima, a quarta página começa às 15.
OPCIONAL: USANDO UM ESTILO DIFERENTE COM /S
O /S
operador usa um argumento que permite escolher o estilo de numeração,
- / D dígitos (1, 2, 3 ...)
- / R romano maiúsculo (I, II, III ...)
- / r romano em minúsculas (i, ii, iii ...)
- / Uma letra maiúscula em ordem alfabética (A, B, C, ...., X, Y, Z, AA, AB, AC, ...)
- / a em minúsculas alfabética (a, b, c, ...., x, y, z, aa, ab, ac, ...)
Se alguém omitir o /S
operador, essa seção das páginas não terá numeração. Por exemplo:
0 << >> % No label for cover
OPCIONAL: ADICIONANDO UM PREFIXO PARA CADA PÁGINA COM /P
Você pode mostrar qualquer sequência de texto antes do número da página, especificando uma palavra entre parênteses após /P
:
31
<<
/S /D
/P (A-) % label appendix pages A-1, A-2, A-3
>>
A especificação de um prefixo sem um estilo ( /S
) fornecerá páginas que possuem apenas a palavra sem número. Isso pode ser útil, por exemplo, se você deseja que uma página de rosto simplesmente tenha o rótulo "Capa".
0 << /P (Cover) >> % No number, just "Cover"
Etapa 3.
Corra fix-qdf
para tornar suas edições válidas em PDF e coloque a saída em bar.qdf.
fix-qdf foo.qdf > bar.qdf
Passo 4.
Abra o bar.qdf no seu programa de visualização de PDF e verifique se está numerado corretamente.
Etapa 5.
Converta o arquivo QDF novamente em um PDF normal, da seguinte maneira:
qpdf bar.qdf bar.pdf
Ta da. Você está feito. Agora você tem um documento com números de página rotulados corretamente em bar.pdf.