Перенумеровать страницы PDF-файла

Я хочу отредактировать метаданные отсканированного PDF, чтобы назначать номера страниц на разные страницы. Например, теперь страницы 1-3, которые я могу назвать i, ii и iii, а также страницы 4-10, я хочу называть 1-7. Я не хочу изменять фактический порядок страниц.

Есть ли A) Способ сделать это вообще с помощью бесплатных инструментов; и B) Способ сделать это «в пакетном режиме» (так что без необходимости перенумеровать каждую страницу вручную).

23
задан 9 April 2011 в 04:05

56 ответов

Существует еще одно приложение, которое называется PDFEdit - его размещение в исходной кузнице. Страница Project Forge Source - Однако это не помогает, потому что это не те функции, которые вам нужны

8
ответ дан 2 August 2018 в 03:46
  • 1
    Ах, но мой вопрос не спрашивал о том, как изменить порядок страниц. Это должно было изменить метаданные для страниц: перепечатать номера страниц (вставить римские цифры в качестве первых нескольких страниц, возможно, пропустить несколько, PDF-файлы поддерживают первый). – MarkovCh1 27 March 2011 в 10:31
  • 2
    На самом деле я не думаю, что PDF Edit может изменять номера страниц. Во всяком случае, я пробовал и не добился успеха. – MarkovCh1 9 April 2011 в 21:49
  • 3
    @Syzygy - действительно, только что проверил: pdfedit может показать Catalog/PageLabels Dict, если у него есть документ, но если он выбран, он говорит: «. [D0] В этом словаре нет каких-либо непосредственно редактируемых свойств «Привет! – sdaau 14 October 2011 в 05:36
  • 4
    Большой! Спасибо, ты не шутишь :) – MarkovCh1 15 October 2011 в 20:58
  • 5
    +1 Этот ответ намного проще и лучше, чем принятый, и ссылка на спецификацию - отличная помощь. – jja 31 March 2016 в 14:24

Попробуйте pyPdf, библиотеку python для управления PDF-документами.

Вы могли бы также взглянуть на pyPdf , хотя я не проверял, поддерживает ли он изменение номера страницы, связанного с индивидуальным страницы. Оба доступны как пакеты в Ubuntu.

0
ответ дан 2 August 2018 в 03:46
  • 1
    Hm, PDFtk, похоже, не в состоянии это сделать. pyPdf имеет много методов для извлечения метаданных, но, похоже, не может записать их обратно в документ. – MarkovCh1 9 April 2011 в 22:07

Openoffice / Libreoffice может сделать трюк с расширением pdf-импорта и макросом с разбивкой по страницам.

Не идеальное решение, но оно работает для меня (кроме использования PDF Mod - что я бы настоятельно рекомендовал ).

1
ответ дан 2 August 2018 в 03:46
  • 1
    Расширение pdf-импорта, похоже, было заблокировано для OpenOffice.org 3.2. Импорт (в Draw и Writer) дает «ошибку ввода / вывода». – MarkovCh1 9 April 2011 в 21:54

jPDF Tweak - это графическая утилита с открытым исходным кодом, которая предлагает нумерацию страниц (правильный термин - «маркировка страницы») и многие другие новички для расширенных функций редактирования PDF. Он работает на Ubuntu и других операционных системах.

Страница jPDF Tweak содержит пошаговые инструкции.

4
ответ дан 4 August 2018 в 19:50
  • 1
    Спасибо, это то, что действительно помогло мне, сохранив формы и все такое. jPDF Tweak - действительно мощная вещь, хотя и с не очень удобным интерфейсом. – TiGR 20 October 2014 в 01:12
  • 2
    Если в исходном вопросе не упоминались пакетные задания, я бы сказал, что этот ответ действительно заслуживает того, чтобы быть принятым. – Brian Z 19 March 2015 в 14:52

Существует еще одно приложение, которое называется PDFEdit - его размещение в исходной кузнице. Страница Project Forge Source - Однако это не помогает, потому что это не те функции, которые вам нужны

8
ответ дан 4 August 2018 в 19:50
  • 1
    Ах, но мой вопрос не спрашивал о том, как изменить порядок страниц. Это должно было изменить метаданные для страниц: перепечатать номера страниц (вставить римские цифры в качестве первых нескольких страниц, возможно, пропустить несколько, PDF-файлы поддерживают первый). – MarkovCh1 27 March 2011 в 10:31
  • 2
    На самом деле я не думаю, что PDF Edit может изменять номера страниц. Во всяком случае, я пробовал и не добился успеха. – MarkovCh1 9 April 2011 в 21:49
  • 3
    @Syzygy - действительно, только что проверил: pdfedit может показать Catalog/PageLabels Dict, если у него есть документ, но если он выбран, он говорит: «. [D0] В этом словаре нет каких-либо непосредственно редактируемых свойств «Привет! – sdaau 14 October 2011 в 05:36
  • 4
    Большой! Спасибо, ты не шутишь :) – MarkovCh1 15 October 2011 в 20:58
  • 5
    +1 Этот ответ намного проще и лучше, чем принятый, и ссылка на спецификацию - отличная помощь. – jja 31 March 2016 в 14:24

Попробуйте pyPdf, библиотеку python для управления PDF-документами.

Вы могли бы также взглянуть на pyPdf , хотя я не проверял, поддерживает ли он изменение номера страницы, связанного с индивидуальным страницы. Оба доступны как пакеты в Ubuntu.

0
ответ дан 4 August 2018 в 19:50
  • 1
    Hm, PDFtk, похоже, не в состоянии это сделать. pyPdf имеет много методов для извлечения метаданных, но, похоже, не может записать их обратно в документ. – MarkovCh1 9 April 2011 в 22:07

Openoffice / Libreoffice может сделать трюк с расширением pdf-импорта и макросом с разбивкой по страницам.

Не идеальное решение, но оно работает для меня (кроме использования PDF Mod - что я бы настоятельно рекомендовал ).

1
ответ дан 4 August 2018 в 19:50
  • 1
    Расширение pdf-импорта, похоже, было заблокировано для OpenOffice.org 3.2. Импорт (в Draw и Writer) дает «ошибку ввода / вывода». – MarkovCh1 9 April 2011 в 21:54

Openoffice / Libreoffice может сделать трюк с расширением pdf-импорта и макросом с разбивкой по страницам.

Не идеальное решение, но оно работает для меня (кроме использования PDF Mod - что я бы настоятельно рекомендовал ).

1
ответ дан 6 August 2018 в 03:53

jPDF Tweak - графическая утилита с открытым исходным кодом, которая предлагает нумерацию страниц (правильный термин - «маркировка страницы») и многие другие новички для расширенных функций редактирования PDF. Он работает на Ubuntu и других операционных системах.

Страница Documentation содержит пошаговые инструкции.

4
ответ дан 6 August 2018 в 03:53

Есть еще одно приложение, которое называется PDFEdit - его размещение в исходной кузнице. Страница проекта Source Forge - Однако это не помогает, потому что вам не нужны функции

Text Editing in PDFEdit [!d1]

8
ответ дан 6 August 2018 в 03:53

Попробуйте pyPdf , библиотеку python для управления PDF-документами.

Вы также можете посмотреть PDFtk , хотя я не проверял, поддерживает ли он изменение номера страницы, связанного с индивидуальным страницы. Оба доступны как пакеты в Ubuntu.

0
ответ дан 6 August 2018 в 03:53

Openoffice / Libreoffice может сделать трюк с расширением pdf-импорта и макросом с разбивкой по страницам.

Не идеальное решение, но оно работает для меня (кроме использования PDF Mod - что я бы настоятельно рекомендовал ).

1
ответ дан 7 August 2018 в 21:50

jPDF Tweak - графическая утилита с открытым исходным кодом, которая предлагает нумерацию страниц (правильный термин - «маркировка страницы») и многие другие новички для расширенных функций редактирования PDF. Он работает на Ubuntu и других операционных системах.

Страница Documentation содержит пошаговые инструкции.

4
ответ дан 7 August 2018 в 21:50

Есть еще одно приложение, которое называется PDFEdit - его размещение в исходной кузнице. Страница проекта Source Forge - Однако это не помогает, потому что вам не нужны функции

Text Editing in PDFEdit [!d1]

9
ответ дан 7 August 2018 в 21:50

Попробуйте pyPdf , библиотеку python для управления PDF-документами.

Вы также можете посмотреть PDFtk , хотя я не проверял, поддерживает ли он изменение номера страницы, связанного с индивидуальным страницы. Оба доступны как пакеты в Ubuntu.

0
ответ дан 7 August 2018 в 21:50

Openoffice / Libreoffice может сделать трюк с расширением pdf-импорта и макросом с разбивкой по страницам.

Не идеальное решение, но оно работает для меня (кроме использования PDF Mod - что я бы настоятельно рекомендовал ).

1
ответ дан 10 August 2018 в 10:04

Попробуйте pyPdf , библиотеку python для управления PDF-документами.

Вы также можете посмотреть PDFtk , хотя я не проверял, поддерживает ли он изменение номера страницы, связанного с индивидуальным страницы. Оба доступны как пакеты в Ubuntu.

0
ответ дан 10 August 2018 в 10:04

Есть еще одно приложение, которое называется PDFEdit - его размещение в исходной кузнице. Страница проекта Source Forge - Однако это не помогает, потому что вам не нужны функции

Text Editing in PDFEdit [!d1]

9
ответ дан 10 August 2018 в 10:04

jPDF Tweak - графическая утилита с открытым исходным кодом, которая предлагает нумерацию страниц (правильный термин - «маркировка страницы») и многие другие новички для расширенных функций редактирования PDF. Он работает на Ubuntu и других операционных системах.

Страница Documentation содержит пошаговые инструкции.

4
ответ дан 10 August 2018 в 10:04

Openoffice / Libreoffice может сделать трюк с расширением pdf-импорта и макросом с разбивкой по страницам.

Не идеальное решение, но оно работает для меня (кроме использования PDF Mod - что я бы настоятельно рекомендовал ).

1
ответ дан 13 August 2018 в 16:24
  • 1
    Расширение pdf-импорта, похоже, было заблокировано для OpenOffice.org 3.2. Импорт (в Draw и Writer) дает «ошибку ввода / вывода». – MarkovCh1 9 April 2011 в 21:54

Попробуйте pyPdf , библиотеку python для управления PDF-документами.

Вы также можете посмотреть PDFtk , хотя я не проверял, поддерживает ли он изменение номера страницы, связанного с индивидуальным страницы. Оба доступны как пакеты в Ubuntu.

0
ответ дан 13 August 2018 в 16:24
  • 1
    Hm, PDFtk, похоже, не в состоянии это сделать. pyPdf имеет много методов для извлечения метаданных, но, похоже, не может записать их обратно в документ. – MarkovCh1 9 April 2011 в 22:07

Есть еще одно приложение, которое называется PDFEdit - его размещение в исходной кузнице. Страница проекта Source Forge - Однако это не помогает, потому что вам не нужны функции

Text Editing in PDFEdit [!d1]

9
ответ дан 13 August 2018 в 16:24
  • 1
    Ах, но мой вопрос не спрашивал о том, как изменить порядок страниц. Это должно было изменить метаданные для страниц: перепечатать номера страниц (вставить римские цифры в качестве первых нескольких страниц, возможно, пропустить несколько, PDF-файлы поддерживают первый). – MarkovCh1 27 March 2011 в 10:31
  • 2
    На самом деле я не думаю, что PDF Edit может изменять номера страниц. Во всяком случае, я пробовал и не добился успеха. – MarkovCh1 9 April 2011 в 21:49
  • 3
    @Syzygy - действительно, только что проверил: pdfedit может показать Catalog / PageLabels Dict, если у него есть документ, но если он выбран, он говорит: & quot; This словарь не имеет каких-либо непосредственно редактируемых свойств & quot; ... Приветствия! – sdaau 14 October 2011 в 05:36
  • 4
    Большой! Спасибо, ты не шутишь :) – MarkovCh1 15 October 2011 в 20:58
  • 5
    +1 Этот ответ намного проще и лучше, чем принятый, и ссылка на спецификацию - отличная помощь. – jja 31 March 2016 в 14:24

jPDF Tweak - графическая утилита с открытым исходным кодом, которая предлагает нумерацию страниц (правильный термин - «маркировка страницы») и многие другие новички для расширенных функций редактирования PDF. Он работает на Ubuntu и других операционных системах.

Страница Documentation содержит пошаговые инструкции.

4
ответ дан 13 August 2018 в 16:24
  • 1
    Спасибо, это то, что действительно помогло мне, сохранив формы и все такое. jPDF Tweak - действительно мощная вещь, хотя и с не очень удобным интерфейсом. – TiGR 20 October 2014 в 01:12
  • 2
    Если в исходном вопросе не упоминались пакетные задания, я бы сказал, что этот ответ действительно заслуживает того, чтобы быть принятым. – Brian Z 19 March 2015 в 14:52

Просто нашел указатель на то, что для этого можно было бы использовать ghostscript здесь: pdftk - добавлять и редактировать закладки в pdf - Unix и Linux - Stack Exchange # 18600 ; он ссылается на ссылки:

Однако вышеупомянутая сделка с закладками - не с логической разбиением на страницы. Оказывается, из pdfmarkReference.pdf необходимая «команда» - « / Label » (или « / PAGELABEL »), и она далее относится к PDFReference.pdf , глава 8.3.1 «Метки страницы». К сожалению, эта глава не обязательно объясняет, как можно использовать pdfmarks с ярлыками страниц, но это сообщение:

В файле / PAGELABEL pdfmark нет ключа / страницы, поэтому можно установить метку для« текущего » (и, как следствие, только для одной страницы за раз). Поскольку вы называете это в самом начале, ожидается, что он установит метку для первой страницы и только для нее.

Несколько / PAGELABEL для одной и той же страницы: ссылка на pdfmark говорит, что последний вступает в силу, поэтому результат вашей 1-й командной строки в порядке. Обратите внимание, что ключ / Page игнорируется.

Как установить метки страниц из PostScript? Я могу придумать 2 метода:

(A) 100% документированный способ:

Выдать a / PAGELABEL как часть каждой страницы.

(B) Менее документированный способ: ...

  gswin32c -sDEVICE = pdfwrite -sOutputFile = 50pages.pdf -dNOPAUSE GS & gt; [/ _ objdef {pl} / type / dict / OBJ pdfmark  GS & gt; [{pl} & lt; / Nums [0 & lt; / P (страница) / S / r / St 10 & gt;  2 & gt;] & gt; & gt; & gt;  / PUT pdfmark GS & gt; [{Catalog} & lt; / PageLabels {pl} & gt; & gt; & gt;  / PUT pdfmark GS & gt; 50 {showpage} repeat GS & gt; quit  

... и далее в этом потоке:

Что касается выполнения этой работы; поскольку исходный файл является файлом PDF, вы можете запускать каждую страницу из файла по отдельности. Таким образом, вы можете установить PDF-документ PAGELABEL для страницы 1, запустите страницу 1 из исходного файла, установите PAGELABEL для страницы 2, запустите страницу 2 из исходного файла и т. Д.

Поскольку метка (как SaGS), примененный к текущей странице, это должно правильно установить метки для каждой страницы в выходном файле PDF. (caveat: Я на самом деле не пробовал это)

EDIT: просто чтобы показать это - если вы сохранили его как pdfmarks file:

  [/ Label (-1) / PAGELABEL pdfmark showpage [/ Label (0) / PAGELABEL pdfmark showpage [/ Label (1) / PAGELABEL pdfmark showpage  

... и вы вызываете:

  gs -q -dBATCH -dNOPAUSE -sDEVICE = pdfwrite -sOutputFile = outfile.pdf infile.pdf pdfmarks  

... then вы получите три пустые страницы, добавленные в конце infile.pdf , помеченные как -1, 0 и 1 :)

& nbsp;

Ну, может быть, это помогает когда-нибудь получить более простой скрипт gs для перенумерации страниц :) Cheers!

& nbsp;

EDIT2: Получил, думаю, d15] gs , как указано выше, и ниже - содержимое скрипта pdfmarks , который будет перенумеровать infile.pdf, поэтому он начинается с -1, 0, 1 ... Это в основном модифицированный пример из ссылки в формате PDF (см. комментарии для более):

 % Имя типа (необязательно) Тип объекта PDF, который описывает этот словарь;  если он присутствует, должен быть PageLabel для словаря ярлыков страниц.  Имя% S (необязательно) Стиль нумерации, который будет использоваться для числовой части каждой метки страницы:% D Десятичные арабские цифры% R Числа с прописными буквами% r Строчные цифры в хронологическом порядке% A Прописные буквы (от A до Z для первых 26 страниц,  AA до ZZ для следующих 26 и т. Д.)% A Строчные буквы (от a до z для первых 26 страниц, от aa до zz для следующих 26 и т. Д.) Текстовая строка% P (необязательно) Префикс метки для страницы  этикетки в этом диапазоне.  % St integer (Необязательно) Значение числовой части для первой метки страницы в диапазоне.  Последующие страницы будут последовательно пронумерованы от этого значения, которое должно быть больше или равно 1. Значение по умолчанию: 1.% перенумеровать первые 25 страниц - нажимать каждый на 10 и добавлять префикс:% [/ _objdef {pl} / type /  dict / OBJ pdfmark% [{pl} & lt; / Nums [0 & lt; / P (страница) / S / D / St 10 & gt;  25 & lt; & gt; & gt; & gt; & gt; & gt;  / PUT pdfmark% [{Catalog} & lt; / PageLabels {pl} & gt; & gt; & gt;  / PUT pdfmark [/ _objdef {pl} / type / dict / OBJ pdfmark [{pl} & lt; / Nums [0 & lt;  / P (-1) & gt;  % просто метка -1 (нет стиля) для pg 0;  1 & lt;  / P (0) & gt; & gt;  % just label 0 (нет стиля) для pg 1;  2 & lt;  / S / D / St 1 & gt;  % десятичного стиля, начиная с 1, для pg2 и включен.  & GT;] & GT;  / PUT pdfmark [{Catalog} & lt; / PageLabels {pl} & gt; & gt; & gt;  / PUT pdfmark  
9
ответ дан 15 August 2018 в 23:09
  • 1
    Ах, но мой вопрос не спрашивал о том, как изменить порядок страниц. Это должно было изменить метаданные для страниц: перепечатать номера страниц (вставить римские цифры в качестве первых нескольких страниц, возможно, пропустить несколько, PDF-файлы поддерживают первый). – MarkovCh1 27 March 2011 в 10:31
  • 2
    Большой! Спасибо, ты не шутишь :) – MarkovCh1 15 October 2011 в 20:58
  • 3
    +1 Этот ответ намного проще и лучше, чем принятый, и ссылка на спецификацию - отличная помощь. – jja 31 March 2016 в 14:24

Имеется инструмент под названием PDF Mod, который является бесплатным инструментом для переупорядочения страниц PDF.

Он может быть установлен из Ubuntu Software Center в Ubuntu 10.10 и выше.

] Для установки в Ubuntu 9.10 или 10.04:

Для установки Добавьте ppa ppa: pdfmod-team / ppa к вашим источникам программного обеспечения ( Вот как это сделать ) и установить pdfmod из программного центра

Адаптировано из: http://www.webupd8.org/2011/03/edit-pdf-documents-in-linux-with-pdf .html

Удача: D

9
ответ дан 19 August 2018 в 01:30
  • 1
    Ах, но мой вопрос не спрашивал о том, как изменить порядок страниц. Это должно было изменить метаданные для страниц: перепечатать номера страниц (вставить римские цифры в качестве первых нескольких страниц, возможно, пропустить несколько, PDF-файлы поддерживают первый). – MarkovCh1 27 March 2011 в 10:31
  • 2
    +1 Этот ответ намного проще и лучше, чем принятый, и ссылка на спецификацию - отличная помощь. – jja 31 March 2016 в 14:24

Вы можете сделать это с помощью текстового редактора.

Как говорится в ответе, откройте PDF-файл с текстовым редактором, найдите запись / Catalog , а затем добавьте запись с именем / PageLabels следующим образом:

  / PageLabels & lt;  / Nums [0 & lt;  / P (обложка) & gt;  % меток 1-я страница со строкой «обложка» 1 & lt;  / S / r & gt;  % номеров страниц 2-6 в небольших римских цифрах 6 & lt;  / S / D & gt;  % номеров страниц 7-x в десятичных арабских цифрах] & gt;   

Обратите внимание, что индексы страниц (номера физических страниц) начинаются с 0 .

Конечно, вы можете сделать это автоматически, используя языки сценариев .

Стандарты PDF - метки страниц имеют подробную спецификацию.

9
ответ дан 22 August 2018 в 11:25
  • 1
    +1 Этот ответ намного проще и лучше, чем принятый, и ссылка на спецификацию - отличная помощь. – jja 31 March 2016 в 14:24

Другие вопросы по тегам:

Похожие вопросы: