Как импортировать, экспортировать и редактировать закладки PDF-файла?

Я слышал, что закладки pdf-файла хранятся в виде обычного текста где-то в файле. Мне было интересно, можно ли импортировать и экспортировать закладки pdf-файла в текстовый файл и из него для пакетной обработки?

Если да, есть ли описание синтаксиса для редактирования текстового файла, содержащего закладки pdf-файла?

Я надеялся на свободные программные решения для Ubuntu 10.10 и Windows 7.

спасибо и привет!

23
задан Tim
17.04.2023 20:10 Количество просмотров материала 3364
Распечатать страницу

8 ответов

существует множество инструментов, которые могут извлекать закладки из pdf в обычный текстовый файл и наоборот. Некоторые из которых заключаются в следующем:

  • pdftk
  • iText toolbox (только для старых версий, get itext-2.0.1.jar)
  • pdfWritebookmarks инструмент, который я использую
  • JPdfBookmarks который даже имеет графический интерфейс.

также, у меня есть скрипт, который может конвертировать между форматы многих из этих инструментов : bmconverter.py.

еще один очень хороший способ-это добавить закладки в pdf через pdflatex.

19
отвечен Michael Goerz 2023-04-19 03:58

можно использовать pdftk для этого. Дополнительная информация: как экспортировать и импортировать закладки PDF.

экспорт закладок PDF в командной строке следующим образом:

pdftk C:\Users\Sid\Desktop\doc.pdf dump_data output C:\Users\Sid\Desktop\doc_data.txt

импорт закладок PDF из файла данных, как это:

pdftk C:\Users\Sid\Desktop\doc.pdf update_info C:\Users\Sid\Desktop\doc_data.txt output C:\Users\Sid\Desktop\updated.pdf

pdftk формат закладок немного утомительно писать. Вместо этого я создал свой собственный скрипт с помощью bash,sed,pdftk и python3. Проверьте это в этом репозитории: https://github.com/SiddharthPant/booky

теперь я могу создать текстовый файл (bkmrks.txt) как это, которое занимает всего 5 минут, чтобы написать даже для 1000 страницы pdf.

{
  Title1, 1
  Title2, 2
  {
    Subtitle1, 3
    Subtitle2, 4
    {
      SubSubtitle1, 5
      ...
    }
  }
}

и затем использовать мой скрипт

./booky.sh pdf_file.pdf bkmrks.txt

это автоматически создает pdf (pdf_file_new.pdf), в котором есть мои закладки.

это будет работать в *Nix системах, если вы на машине Windows. Затем сначала установите python3 и pdftk просто использовать booky.py файл в репозитории для преобразования bkmrks.txt to pdftk совместимый формат

python3 booky.py < bkmrks.txt > output.txt

, а затем используйте команду export для создания файла данных дампа. Удалите предыдущие закладки из этого файла и вставьте содержимое output.txt использовать простой копипаст. А затем импортируйте эти данные обратно.

9
отвечен Siddharth Pant 2023-04-19 06:15

Если у вас есть версия документа с закладками и вы хотите скопировать их, гораздо более простой способ - использовать PDF-XChange Viewer (я использовал v2.5.211). Откройте файл PDF, который имеет закладки (исходный PDF), выберите все закладки на панели закладки, скопировать их с помощью CTRL+C и откройте файл PDF, который не имеет закладок (целевого PDF) и вставить их (Ctrl+V) в том, что PDF в закладки. PDF-XChange Viewer сохраняет свойства закладок, как они были из исходного PDF (в том числе любой жирный / курсив на текст закладки). Если по какой-либо причине некоторые разделы целевого PDF ниже или выше из-за изменений, внесенных в документ, вы можете щелкнуть закладку, требующую исправления, прокрутите страницу, на которой вы хотите открыть закладку, снова щелкните правой кнопкой мыши закладку и нажмите кнопку "Установить назначение". Повторите эту последнюю часть по мере необходимости для любой нарушающей закладки. Сохраните целевой PDF-файл по завершении.

это работало отлично для меня, было довольно интуитивно, и я закончил через несколько минут. В моем конкретном сценарии сотрудник создал очень длинный документ, используя Word для Mac, у которого не было закладок. Из-за длины документа я хотел закладки, соответствующие контуру документа. Я мог бы получить Word для Windows, чтобы сохранить документ в формате PDF с закладками, но некоторые различия в форматировании между Word для Windows и Word для Mac сбросили счетчик страниц (в частности, были различия в Белом пространство вокруг нижнего колонтитула и различия в расстоянии между рисунками и подписью). Я смог поиграть с верхними и нижними колонтитулами и размерами фигур, чтобы получить правильную нумерацию страниц в Word для Windows, а затем сохранить в PDF с закладками. К сожалению, все еще были некоторые различия в форматировании, так что я хотел просто применить закладки к исходному PDF, и именно тогда я понял решение выше.

3
отвечен Jason 2023-04-19 08:32

спецификация для PDF-файлов доступна в виде свободно загружаемого PDF-файла от Adobe - или, по крайней мере, это был последний раз, когда я проверял. Тем не менее, большинство PDF-файлов имеют наиболее сжимаемые данные в них сжаты. Вероятно, когда-то была в основном текстовая версия PDF, и если это так, она все равно будет действительна сейчас, но на самом деле получение файла в этой форме может быть проблемой.

хотя я еще не сделал этого, одна очень вероятная возможность (если вы готовы заплатить) - купить Acrobat Pro, и использовать возможности сценариев Javascript, встроенные в это приложение. Чтобы вы начали...

http://acrobatusers.com/tutorials/2008/10/auto_bookmark_creation

в этом руководстве показано, как автоматически создавать закладки с помощью Javascript в Acrobat 7.0 Pro (версия, включенная в Creative Suite CS2). Хотя это становится немного старым, тот же метод должен хорошо работать для новых версий.

приложения Adobe включают в себя библиотека для чтения/записи текстовых файлов с использованием Javascript (то, что Javascript не имеет в качестве стандарта), так что можно написать свои собственные сценарии импорта/экспорта, хотя и нетривиальные, чтобы сделать эти сценарии надежными.

1
отвечен Steve314 2023-04-19 10:49

чтобы экспортировать закладки, я придерживаюсь другого подхода, который требует использования Microsoft OneNote:

Я открываю PDF reader (я использую бесплатную версию Foxit) с видимой структурой закладок, а затем, в OneNote, я прошу сделать снимок и выбрать структуру закладок Foxit.

назад к OneNote, я выбираю "копировать текст из изображения" option (в меню, которое появляется после щелчка правой кнопкой мыши на снимке изображения), и я вставляю его сбоку, чтобы правильный отступ (обычно с пулями).

1
отвечен C.Delgado 2023-04-19 13:06

Я нашел еще одно довольно "глупое" решение, чтобы скопировать все закладки в PDF в виде текста для использования в другом месте. В Acrobat Pro (для Mac OS) нет возможности выбрать все закладки и скопировать/вставить их в текстовый процессор. Однако вы можете экспортировать весь PDF-файл в виде HTML-файла с опцией "одна HTML-страница + добавить навигационный фрейм на основе закладок". Затем откройте HTML в браузере, выделите весь текст в навигационном фрейме и скопируйте/вставьте его в текстовый процессор...

0
отвечен Johan Morris 2023-04-19 15:23

читать все закладки из PDF в текстовый файл, вы можете использовать эту команду с pdftk:

pdftk input.pdf dump_data output output.txt

затем я использовал регулярное выражение на Notepad++, чтобы удалить дополнительные части. Следующее Я заменил пустой строкой (по порядку), а потом у меня получился список закладок (не забудьте заменить с помощью regex в вашем текстовом редакторе):

BookmarkLevel.*
BookmarkPageNumber.*
BookmarkBegin.*
\n\s+\n

если вы хотите удалить числа, замените это выражение:

BookmarkTitle: A8.\d.\d+\s
0
отвечен The Quantum Physicist 2023-04-19 17:40

HandyOutline. 1 драг, 1 Нажмите, сделано. https://sourceforge.net/projects/handyoutlinerfo/. Бесплатно. Отступы вложенных закладок. Не требует чтения/редактирования PDF. Также редактировать, экспортировать все данные в формат XML, repaginate, импорт в PDF. Дэв заслуживает пожертвований.

PDF-XChange редактор (заменен PDFViewer) случайно дублированные/пропущенные закладки экспортированы в текст

JPDF требуется Java, экспортированный мусор форматирования, не мог очистить его, чтобы получить имена только

PDFtk дал мне головную боль просто глядя на инструкции

: -)

0
отвечен Piecevcake 2023-04-19 19:57

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх