Функция insertTextToPdf

отредактировано ноября 2024 Раздел: Модель данных и экранные формы

Добрый день! Нам необходимо добавлять в пдф-файл готового подписанного всеми подразделениями кредитного решения наименование этого решения в левый верхний угол (см.скрин).
Нашли в инструментах алгоритма функцию insertTextToPdf, но описаний по ней не нашли. Подскажите, можно ли с ее помощью осуществить нашу цель? и если нет, то как это можно сделать? Если да, то тоже, можно, пожалуйста, поподробнее рассказать про возможности этой функции?

Комментарии

  • Добрый день. Подготовим ответ на ваши вопросы.

  • Для ваших целей подойдёт сочетание функций newPdfFile() и pdfFile.insertText()
    Вот пример реализованного кейса:
    Имеется файл в формате docx, размещённый в атрибуте "загруженный файл". Необходимо добавить в размещённый файл номер договора и сохранить этот файл в новом атрибуте.

    Используемый алгоритм будет иметь следующий вид:

    Перед написанием алгоритма необходимо подготовить стиль форматирования (экземпляр типа объекта "Основной стиль форматирования" [STYLES_DICTIONARY_INST]). Стиль форматирования будет использован для определения положения вставляемого текста.

    Конечный результат выглядит следующим образом:

    Подробно работа с этой функцией описана в статье на wiki
    https://docs-public.gdcloud.org/platform/ru/newpdffile.html

  • отредактировано ноября 2024

    Спасибо большое за ответ!
    Подскажите, а можно ли применить данную функцию к уже существующему pdf-файлу, который берем из прикрепленных файлов заявки? Если да, то как? (у нас файлы только в формате pdf либо xls, файлы в формате word для данного функционала используются редко).

    Пробую к файлу заявки применить функцию newPdfFile(), но выходит ошибка:
    No signature of method: Script_algorithm_230787394.newPdfFile() is applicable for argument types: (pro.greendata.core.gdsl.DynamicObjectWrapper) values: [pro.greendata.core.gdsl.DynamicObjectWrapper@10cca76b]
    Мой код:

  • отредактировано ноября 2024

    Также вижу на панели инструментов функцию insertTextToPdf():

    но необходима консультация по ее аргументам, т.к. добавление файла, текста и стиля в том же формате, как указано выше, и оставление остальных полей пустыми - выдает ошибку.

  • Подготовим ответы на ваши вопросы

  • Да, можно. Файл должен быть предварительно размещён в атрибуте. В моём примере это атрибут "загруженные файлы".

  • С какой версией платформы вы работаете?

  • @zonov_av написал:
    С какой версией платформы вы работаете?

    6-domdev.246, сборка 622429 (65a37a7) от 26.11.2024

  • отредактировано ноября 2024

    @zonov_av написал:
    Да, можно. Файл должен быть предварительно размещён в атрибуте. В моём примере это атрибут "загруженные файлы".

    В моем примере это атрибут "Прикрепленные файлы" - атрибут типа Файл, с множественным выбором
    Беру конкретный экземпляр данного атрибута и передаю его в функцию newPdfFile()

  • отредактировано декабря 2024

    В версиях 6 и 7 отличается синтаксис функции insertTextToPdf(). Пример на моих скриншотах был настроен на версии distr.

    Для релиза 6 функция содержит следующий набор аргументов:

    text style - Стиль форматирования вставляемого текста, указывается значение из системного справочника "Стиль форматирования (STYLES_DICTIONARY)" (используемые параметры: Размер шрифта, Переносить текст по словам, Курсив, Жирный шрифт, Цвет шрифта, Цвет фона).
    Если параметр не заполнен, то по умолчанию используется экземпляр "standard style"
    Параметры экземпляра: Размер шрифта - 12; Переносить текст по словам - да; Курсив - нет; Жирный шрифт - нет; Цвет шрифта - черный; Цвет фона - белый

    text length - Максимальная длинна строки вставляемого текста (возможно указание непосредственного значения, переменной или алгоритма). В случае если вставляемый текст больше чем указанное значение, то он переносится на следующую строку. Перенос осуществляется в зависимости от настроек стиля (атрибут Переносить текст по словам).
    Если параметр не заполнен, то по умолчанию длинна строки ограничена шириной страницы;

    page - Номер страницы документа. Целое число, начиная с 1 (возможно указание непосредственного значения, переменной или алгоритма, указание нескольких страниц предусматривается в массиве через ArrayList).
    Если номер не заполнен, то по умолчанию текст проставляется на первой странице;

    Дополнительные условия при модификации PDF файла:
    Если указано несколько страниц, то указанный текст должен отражаться несколько раз на указанных страницах.
    Производится модификация указанного файла, новый файл не создается;

Войдите или Зарегистрируйтесь чтобы комментировать.