Используя pymupdf, могу ли я «контейнерировать» результат Page.showPDFPage? - PullRequest
0 голосов
/ 30 сентября 2019

Я хочу взять SVG и поместить их в углы существующих PDF-файлов, с прозрачностью и не растеризовать результат (оставьте SVG как векторы в целевом PDF).

У меня есть фиктивный SVGдокумент для тестирования, сгенерированный через graphviz;для ясности, исходный текст graphviz выглядит следующим образом:

digraph {
    bgcolor="#FF000022";
    a -> b;
}

Так что это дает мне небольшой SVG из 2 узлов со стрелкой между ними. Цвет фона включает в себя альфа-канал.

Я могу успешно преобразовать SVG в PDF, а затем использовать PyMuPdf Page.showPDFPage, чтобы вставить полученный PDF-файл туда, где он мне нужен. Он учитывает уровни прозрачности, установленные исходным SVG.

Однако полученный PDF-файл содержит каждую стрелку, стрелку, узел, метку и фон в качестве уникального элемента;что, возможно, вообще положительная вещь. Однако для нашего варианта использования нам иногда может понадобиться вручную переместить или удалить вставленную графику, и конечному пользователю будет полезно иметь возможность щелкнуть вектор «группа» и стереть его одним действием, а неперемещаться по каждому элементу, стараясь не нажимать на элементы, которые уже присутствовали в документе.

Можно ли «контейнерировать» вставленный PDF-файл или поместить его в «слой» или «сгруппировать» его? или т. д.? Или, возможно, просто пометить их всех каким-либо способом, способным выполнять запросы?

...