Я занимаюсь редактированием старого PDF-файла, содержащего векторный текст и математические формулы. Именно я извлекаю одну из проблем экзаменационной работы, поэтому после извлечения соответствующих страниц мне все еще нужно удалить некоторое содержимое перед проблемой на первой странице и после нее на последней странице.
Это приводит меня к перемещению контента вверх и с одной страницы на другую. В настоящее время я занимаюсь этим с Inkscape. Inkscape позволяет мне открывать разные страницы в максимально возможном количестве документов. Я использую импорт Poppler/Cairo, потому что внутренняя система импорта неправильно отображает текст.
При этом все работает хорошо, пока я остаюсь на одном документе (странице). Но при перемещении содержимого со страницы на другую вставленное содержимое становится непригодным для использования, похоже, из-за неработающих ссылок на глифы.
Поэтому я обратился к преобразованию всего текста в кривые в моем исходном PDF- файле с помощью gs -dNoOutputFonts -sDEVICE=pdfwrite in.pdf out.pdf
, а затем выполнил вышеуказанное. Это работает, но в итоге дает достаточно большие PDF-файлы после сборки SVG-файлов с помощью команды rsvg-convert -f pdf -o final.pdf page*.svg
.
Я думаю, что лучше всего не уничтожать глифы, а заставить Inkscape конвертировать таблицы глифов при копировании и вставке или использовать общую таблицу глифов для всех страниц, извлеченных из одного и того же файла PDF.
Как мне этого добиться? Или, может быть, есть лучший рабочий процесс? Я хотел бы не растеризовать документ.