#javascript #python #pdf
Вопрос:
Вот действительно простая проблема, которая, как-то, кажется, еще не имеет предложенного решения.
У меня есть PDF-документ, содержимое которого распределено по слоям примерно так:
<Layer 1>
<Clip Group>
<GraphicsPath>
<GraphicsPath>
<GraphicsPath>
...
<CutPath>
<CutPath>
<CutPath>
...
Программно я хочу изменить порядок содержимого, чтобы оно было организовано следующим образом:
<ThroughCut>
<CutPath>
<CutPath>
<CutPath>
...
<Graphics>
<GraphicsPath>
<GraphicsPath>
<GraphicsPath>
...
Я определил структуру слоя с помощью Adobe Illustrator. Там можно сразу создавать и переименовывать слои, а затем перетаскивать объекты, чтобы получить правильное расположение. Тем не менее, я уже несколько дней пытаюсь найти хороший способ сделать это программно. Похоже, что PyMuPDF
для этого подойдет библиотека Python, поскольку она поддерживает добавление и настройку слоев и изображений (должен признаться, я не совсем понимаю разницу), но я играл с ней уже полдня и просто не могу понять это.
Решения, использующие Python и JavaScript, наиболее ценятся, но на данный момент я возьму все, что смогу запустить из командной строки на машине UNIX.
Комментарии:
1. Необязательная группа содержимого-это термин PDF, слой-популярный термин для необязательного содержимого. Вы хотите изменить порядок фактического содержимого страницы или только узлов в визуальном дереве дополнительного содержимого (которое отображается в Acrobat и позволяет отображать/скрывать слои)?
2. Только узлы. Для простоты: чтобы иллюстратор понял, вот и все. На самом деле я форматирую PDF, чтобы его правильно читало другое программное обеспечение, но оно совместимо с Illustrator.