NOTE: The accepted answer is still mostly correct, but has some gaps. It is lacking in that many PDF files are not directly editable as text. Even when they are, such editing can sometimes damage the PDF making it unreadable. One solution, that will work for both Unix and Microsoft Windows is qpdf which can translate PDF files into "QDF", a text-editable form which is still a valid PDF file. The qpdf
package comes with fix-qdf
that recalculates offsets after a QDF file has been edited to correct any damage.
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
- teste bar.qdf
-
qpdf bar.qdf bar.pdf
Etapa 1.
Converta o documento no formato QDF facilmente editável. Execute qpdf na linha de comando da seguinte forma:
qpdf -qdf foo.pdf foo.qdf
Note: If you do not have qpdf installed already, Microsoft Windows executables can be downloaded from https://github.com/qpdf/qpdf/releases Unix systems, such as Ubuntu and Debian GNU/Linux can install it by typing apt install qpdf
.
Etapa 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 > > está dentro. Nas proximidades, você encontrará o atual /PageLabels
( se houver ).
Adicionaremos cada seção que deve ser numerada de maneira diferente ao /PageLabels
. O formato é start-page
< < style
> & gt ;. Observe que o espaço em branco não importa e que a primeira página do documento é 0
. A menos que especificado de outra forma, uma nova seção sempre começa a numeração de páginas de 1.
Aqui está um exemplo completo de como o PageLabels pode parecer, 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 um PageLabels, adicione-o após /Type /Catalog
. Por exemplo, pode-se mudar,
1 0 obj
<<
…
/Type /Catalog
>>
endobj
em
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
A PARTIR DE UM NÚMERO DIFERENTE COM /St
Cada seção reinicia a numeração em 1, a menos que você diga de outra forma usando /St
. Observe como no exemplo acima, a quarta página começa às 15.
USANDO UM ESTILO DIFERENTE COM /S
O operador /S
usa um argumento que permite escolher o estilo de numeração
- / D dígitos (1, 2, 3 ...)
- / R maiúsculo Romano (I, II, III ...)
- / r romana em minúsculas (i, ii, iii ...)
- / Um alfabético em maiúsculas (A, B, C, ...., X, Y, Z, AA, AB, AC, ...)
- / uma ordem alfabética minúscula (a, b, c, ...., x, y, z, aa, ab, ac, ...)
Se um omite o operador /S
, essa seção de páginas não terá numeração. Por exemplo:
0 << >> % No label for cover
COMO ADICIONAR UM PREFIXO A CADA PÁGINA COM /P
Você pode exibir qualquer sequência de texto antes do número da página, especificando uma palavra entre parênteses depois de /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 com apenas a palavra sem qualquer número. Isso pode ser útil, por exemplo, se você quiser uma capa para simplesmente ter o rótulo "Capa".
0 << /P (Cover) >> % No number, just "Cover"
Etapa 3.
Execute fix-qdf
para tornar as suas edições válidas em PDF e coloque a saída em bar.qdf.
fix-qdf foo.qdf > bar.qdf
Etapa 4.
Abra o bar.qdf no seu programa de visualização de PDF e verifique se ele está numerado corretamente.
Passo 5.
Converta o arquivo QDF de volta em um PDF normal, assim:
qpdf bar.qdf bar.pdf
Ta da. Você está feito. Agora você tem um documento com números de páginas corretamente rotulados em bar.pdf.