Увеличить высоту строки таблицы в существующем PDF
Я хотел бы изменить высоту строки таблицы в существующем документе PDF. Я хотел бы, чтобы содержимое под таблицей автоматически перемещалось вниз при увеличении высоты строки. Я пробовал с hummuspdf, но, кажется, нет явного способа сделать это. Есть ли способ выполнить мое требование программно?
1 ответ
Я хотел бы изменить высоту строки таблицы в существующем документе PDF.
Вам не понравится ответ на этот вопрос: это технически возможно, но намного сложнее, чем вы думаете.
Здесь есть два основных препятствия: 1) PDF не предназначен для редактирования. 2) PDF документ не имеет понятия таблицы.
Более подробно, 2), PDF по сути содержит серию инструкций для рисования и текста, ссылающихся на абсолютные позиции. Таблица - это не что иное, как набор текстовых инструкций и инструкций рисования линий, которые визуально представляют таблицу.
Эти инструкции даже не должны быть близко друг к другу в файле. Вполне возможно, что штрихи строк для границ находятся в верхней части файла, а все текстовые инструкции, кроме одной, находятся в конце файла, а последняя инструкция располагается где-то посередине.
Если структура не была явно добавлена во время создания (см. PDF-файлы с тегами), нет гарантии, что вы программно идентифицируете набор инструкций, которые визуально напоминают вам таблицу.
Теперь предположим, что вам повезло, и вам удалось это сделать, и теперь вы хотите увеличить высоту таблицы и, вероятно, адаптировать остальное содержимое к новой высоте. Теперь 1) вступает в игру. Поскольку инструкции PDF ссылаются на абсолютные координаты, вы должны пересчитать все, что может быть затронуто: строки, которые составляют границы, текст внутри таблицы, все содержимое под таблицей и т. Д.
И помните, что все содержимое под таблицей в документе не обязательно находится под инструкциями таблицы в файле.
Если вам все это удастся, я думаю, многие люди будут очень заинтересованы в вашем решении.
ТЛ; др:
Есть причина, почему эта, казалось бы, тривиальная функциональность отсутствует в широко используемых библиотеках PDF, и это потому, что формат PDF делает ее сложной проблемой.