2015-05-22 4 views
-1

Недавно мне были даны действительно старые, но очень полезные рукописные заметки, и я попытался их сохранить, и я попробовал их в файл в формате PDF. У меня есть 35-страничный PDF-файл, но я хочу добавить страницу содержимого в начале, чтобы я мог использовать первую страницу, чтобы щелкнуть мой путь к определенной теме.A Оглавление страницы для отсканированного PDF

Точнее, я хочу страницу, которая говорит

Тема 1

Тема 2

Тема 3 ...

Каждый должен быть связан с моей страницы Выбор.

Я изучил множество стандартных инструментов, чтобы помочь мне в этом, например LibreOffice, pdftk и т. Д., Но решение не похоже на простое приложение и несколько кликов. Я подозреваю, что для этого потребуется программа, написанная на подходящем языке. То, как я бы хотел, чтобы эта программа работает следующим образом:

ProgramName Input.pdf CustomTOC.txt 

Где CustomTOC.txt может быть простой ASCII таблица, содержащая две колонки, одна колонна название и второй столбец является номером страницы. Результатом этой программы будет другой файл PDF, который содержит одну страницу, добавленную в начале Input.pdf, содержащую оглавление с гиперссылками на нужные страницы.

+0

Как это связано с программированием? Если это просто то, что вы хотите сделать со стандартным программным обеспечением, спросите на другом форуме (например, superuser.com). –

+0

Ну, я много искал стандартные инструменты и не нашел ответа. Мое сильное подозрение заключается в том, что ответ будет представлен в виде пользовательской программы, написанной на Python или аналогичном языке.И да, я понимаю, что вопрос, похоже, не связан с программированием, как я его создал. На данный момент я работаю над решением, которое включает в себя скрипт Python, и после его завершения я опубликую его. Возможно, до или после этого люди здесь могут захотеть предложить более элегантные решения. – Killer

+0

Забыл добавить, если вы чувствуете, что вопрос действительно не принадлежит здесь, я могу отметить его для удаления. Еще я могу опубликовать свое решение, как только закончу. Пожалуйста, дайте мне знать. – Killer

ответ

0

Мне удалось решить эту проблему, хотя я не думаю, что это лучший способ сделать это. Я написал программу Python, которая принимает два обязательных ввода - входной файл PDF и '|' разделенная таблица ASCII, содержащая столбцы и номера страниц. Третий необязательный вывод может быть именем файла PDF, который содержит вывод. Если это не предусмотрено, исходный входной файл перезаписывается.

Как работает код? Использует системный вызов для «pdftk» для разрыва файла PDF на его составные страницы. Записывает .tex-файл, который содержит команду \ listoffigures для первой страницы с гиперрефикой пакета, обеспечивающей ее привязку к цифрам. Более поздняя часть .tex-кода содержит несколько инструкций по вставке фигур, в которые вставлен PDF-файл, соответствующий каждой странице, содержащий титры только для тех файлов PDF, для которых есть запись в указанной таблице TOC.

Почему код не идеален? Он полагается на слишком много зависимостей. Он полагается на системный вызов пакета pdftk, он требует, чтобы LaTeX также был установлен на компьютере с графическим пакетом. В текущей версии кода PDF-файлы на каждой странице имеют некоторый смещение, которое я пытаюсь решить, используя пакет геометрии с настройками пользовательских полей. Я попытаюсь опубликовать код, как только эта проблема будет решена.

Более идеальное решение. То, что не требует LaTeX и может использовать некоторую библиотеку PDF в Python для достижения такого же эффекта. Комментарии и предложения приветствуются!