ПРИМЕЧАНИЕ 1. Принятый ответ по-прежнему в основном правильный, но имеет некоторые пробелы. Недостаток в том, что многие файлы PDF не могут редактироваться напрямую как текст. Даже когда они есть, такое редактирование может иногда повредить PDF, делая его нечитаемым. Одним из решений, которое будет работать как для Unix, так и для Microsoft Windows, является qpdf, который может переводить PDF-файлы в «QDF», текстовую форму, которая по-прежнему является действительным PDF-файлом. qpdf
Пакет поставляется с , fix-qdf
что пересчитывает Коррекция после файла QDF была отредактирована , чтобы исправить повреждения.
ПРИМЕЧАНИЕ 2: неудобно с текстовыми редакторами? Попробуйте сначала использовать графический редактор, такой как jpdftweak . Иногда редакторы PDF GUI работают, и в этом случае, ура, вы сделали. Однако, когда они терпят неудачу, как это часто бывает для меня, вы можете попробовать эту более надежную альтернативу. В любом случае, пожалуйста, не голосуйте за мой ответ за элегантность.
КАК редактировать номера страниц PDF с помощью Qpdf
Резюме:
qpdf -qdf foo.pdf foo.qdf
редактировать foo.qdf
0 << >> % No label on first pages
6 << /S /D >> % Start numbering from 7th page.
fix-qdf foo.qdf >bar.qdf
- тест бар.qdf
qpdf bar.qdf bar.pdf
Подробные шаги
Шаг 1.
Преобразуйте документ в легко редактируемый формат QDF. Запустите qpdf из командной строки следующим образом:
qpdf -qdf foo.pdf foo.qdf
Примечание. Если qpdf еще не установлен, исполняемые файлы Microsoft Windows можно загрузить из https://github.com/qpdf/qpdf/releases систем Unix, таких как Ubuntu и Debian GNU / Linux, которые можно установить, введя командуapt install qpdf
.
Шаг 2.
Отредактируйте документ QDF с помощью текстового редактора, такого как notepad ++, emacs или gedit. Найдите слово /Catalog
и отметьте << угловые скобки >> внутри. Рядом вы найдете текущий /PageLabels
( если есть ).
Мы будем добавлять каждый раздел, который должен быть по-разному пронумерован /PageLabels
. Формат: start-page
<< style
>>. Обратите внимание, что пробел не имеет значения и что первая страница документа 0
. Если не указано иное, новый раздел всегда начинается с нумерации страниц с 1.
Примеры
Вот полный пример того, как может выглядеть PageLabels с добавленными комментариями:
/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)
>>
]
>>
Если в файле нет PageLabels, добавьте их после /Type /Catalog
. Например, можно изменить,
1 0 obj
<<
…
/Type /Catalog
>>
endobj
в,
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
ДОПОЛНИТЕЛЬНО: НАЧИНАЯ С РАЗЛИЧНОГО ЧИСЛА С /St
Каждый раздел перезапускает нумерацию с 1, если вы не укажете иное, используя /St
. Обратите внимание, что в приведенном выше примере четвертая страница начинается с 15.
ДОПОЛНИТЕЛЬНО: ИСПОЛЬЗОВАНИЕ РАЗНОГО СТИЛЯ С /S
/S
Оператор принимает аргумент , который позволяет выбрать стиль нумерации,
- / D цифры (1, 2, 3 ...)
- / R заглавные римские (I, II, III ...)
- / г строчные римские (I, II, III ...)
- / Прописные буквы (A, B, C, ...., X, Y, Z, AA, AB, AC, ...)
- / строчные буквы алфавита (a, b, c, ...., x, y, z, aa, ab, ac, ...)
Если пропустить /S
оператор, то этот раздел страниц не будет иметь нумерации. Например:
0 << >> % No label for cover
ДОПОЛНИТЕЛЬНО: добавление префикса к каждой странице с /P
Вы можете показать любую строку текста перед номером страницы, указав слово в скобках после /P
:
31
<<
/S /D
/P (A-) % label appendix pages A-1, A-2, A-3
>>
Указание префикса без стиля ( /S
) даст вам страницы, на которых есть только слово без номера. Это может быть полезно, например, если вы хотите, чтобы на титульной странице был просто ярлык «Cover».
0 << /P (Cover) >> % No number, just "Cover"
Шаг 3.
Запустите, fix-qdf
чтобы сделать ваши правки действительными в формате PDF и поместите вывод в bar.qdf.
fix-qdf foo.qdf > bar.qdf
Шаг 4
Откройте bar.qdf в вашей программе просмотра PDF и убедитесь, что он нумеруется правильно.
Шаг 5
Преобразуйте файл QDF обратно в обычный PDF, например, так:
qpdf bar.qdf bar.pdf
Та да. Вы сделали Теперь у вас есть документ с правильно помеченными номерами страниц в bar.pdf.