• TCPDF не все параметры работают. Почему?

    @qwermus Автор вопроса
    Алексей Сундуков, Я и не говорил про генерацию текста в виде картинки.:) Это было бы ужасно. Я написал обратное, что превращаю пдф в картинку, далее поверх этой картинки драгом размещаю элементы, жму сохранить - генерится json-файл с правилами, где какой элемент размещать. И далее на основе этого json можно размещать переменные в доке. На всё про всё уходит не много времени. Лично у меня меньше, чем верстать ПДФ в ХТМЛ и далее размещать в нём переменные.
    По поводу масштабирования шрифтов тоже проблем нет - я просто методом тыка определил коэффициент (примерно +4), т.е. 10 в ПДФ - это как 14 на экране.
  • TCPDF не все параметры работают. Почему?

    @qwermus Автор вопроса
    Алексей Сундуков, Ну, к примеру, ПДФ воспринимает поле, в котором вставлено числовое значение, как число. Если в нём ноль - этот ноль не отображается, показывает пустоту, даже если привести число к строке. Вряд ли при помощи HTML-разметки это можно побороть.
    А насчёт сложности - у меня с этим проблем нет. Я при помощи всё того же TCPDF новый ПДФ конвертирую в картинку, и далее сделал небольшую страничку, на которой представлены возможные для использования переменные. Простым draggable я все эти переменные размещаю на странице и далее генерирую JSON-файл, который хранит имя переменной, позиция слева и сверху. И всё. Далее из этого JSON легко строится любой ПДФ.
    Но есть некоторые трудности, такие, как описанная выше проблема с нулём, и вторая - после редактирования текстового поля текст прилипает к верхнему левому краю (до редактирования, т.е. defaule value, он находится на несколько пикселей в другом месте). И дело тут не в ХТМЛ, а в самих ПДФ-формах.
  • TCPDF не все параметры работают. Почему?

    @qwermus Автор вопроса
    Спасибо, но это не решение - через html не получится реализовать то, что я хочу
  • Какая используется библиотека для наполнения PDF?

    @qwermus Автор вопроса
    DevMan, Спасибо, я уже нашёл шикарное решение. В TCPDF это реализовано с минимальными изменениями. Я наполняю отчёт данными, мне эти данные надо обрамить тегом , и все строки стали редактируемыми:) Супер.
  • Какая используется библиотека для наполнения PDF?

    @qwermus Автор вопроса
    DevMan, В первую очередь их всё-таки надо наполнить, потому что файл наполняется большим объёмом данных. Это первостепенно.
    Но бывает, например, что адрес длинный и не влез в строки, или какие-то данные изменились, и их желательно на лету поправить. Поэтому для меня важно два функционала - и наполнение, и дальнейшее редактирование. Конечно, можно сгенерировать файл, а затем отправить пользователя на редактирование своих данных, но это не удобно и я ищу способ от этого уйти и редактировать прямо в ПДФ.
  • Какая используется библиотека для наполнения PDF?

    @qwermus Автор вопроса
    На данный момент я использую TCPDF+FPDI для генерации ПДФ. При помощи FPDI я открываю базовый ПДФ-файл, хранящийся на сервере. Далее при помощи TCPDF подставляю данные в файл и отдаю его пользователю. Но есть ситуации, когда эти данные надо подкорректировать, и вот такой инструмент подошёл бы мне. Пойду, почитаю про pdf-формы, спасибо
  • Есть ли способ поместить if в переменную или как вывести это все в echo?

    @qwermus
    Максим Морозов, Не советуют, потому что можно в переменную подставить другие данные и взломать сайт.
  • Динамическое многоуровневое меню PHP?

    @qwermus
    danielcranky, Не понимаю сложность. Сделай функцию

    function showChild($data_tree, $id_parent) 
    {
        foreach ($data_tree[$id_parent] as $child) {
            echo '<li>'.$child['name'];
            if (sizeof($data_tree[$child['id']]) > 0) {
                echo '<ul>';
                showChild($data_tree, $child['id']);
                echo '</ul>';
            }
            echo '</li>';
        }
    }


    И где угодно в коде её вызови
    echo '<ul>';
    showChild($data_tree, 0);
    echo '</ul>';


    Ну а далее можешь скрыть или не выводить те ветки, которые тебе не надо. Выше я написал, как

    _______________
    Либо, если ты пошёл по пути $parents = [];, то просто его надо перебрать:
    foreach ($parents as $id) {
        echo '<li>'.$data_tree[$id].'</li>';
    }
  • Динамическое многоуровневое меню PHP?

    @qwermus
    danielcranky, Ну так это совсем другая задача, тебе надо вывести текущее дерево и всех родителей, верно? Тогда из базы логично выбирать всё, не думаю что там много.
    Далее надо пробежать по массиву и сформировать путь к этой категории, т.е. в итоге получить массив типа:
    $parents = array(1,5,12,45);

    А далее во вьюхе вывести эти позиции, т.е.
    -$data[1]
    --$data[5]
    ---$data[12]
    ----$data[45]


    А нижу уже все подкатегории последнего родителя.
  • Как проверить поле на пустоту?

    @qwermus
    Артёмище,
    $_POST['email'] = ''; в моём примере нет.
    Про варнинг - откуда? Если скрипт принимает емаил с формы, то даже если ты не укажешь емаил - варнинга не будет, так как ты переменную получил, и она содержит строку ""
    Если тебе надо ещё и на существование проверить - никто в начало не мешает добавить
    if (!isset($_POST['email']) || $_POST['email'] == '')
  • Как проверить поле на пустоту?

    @qwermus
    Артёмище, И всё. Проверили на пустоту, вывели сообщение
  • Как сделать закрытие блока навигации по клику ссылки?

    @qwermus
    Надо заменить вызов функций на
    toggleNavigation($('.toggle-nav'), $('.nav-pane'));
          changeLetters($('.toggle-nav'));

    Потому что при клике на меню this - это меню, а при клике на кнопку this - это кнопка, и последующий код отрабатывает уже иначе. Если явно указать, с каким элементов работаем - всё становится на свои места
  • Как сделать закрытие блока навигации по клику ссылки?

    @qwermus
    Oposum, что значит как попало? У меня всё верно меняется, выглядит красиво, а после добавления $('.toggle-nav, a.button') и закрывается по ссылке
  • Как сделать закрытие блока навигации по клику ссылки?

    @qwermus
    1) получает блоки, в которых расположены 4 буквы
    2) Меняет класс btn-close
    3) В зависимости от состояния кнопки меняет буквы MNU на EIT