Задать вопрос
  • Как данные из формы PHP заполнить готовый шаблон в pdf?

    @MikhedValery
    //mPDF v 8.1.6
    require_once "../vendor/autoload.php";
    $defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults();
    $fontDirs = $defaultConfig['fontDir'];
    $defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults();
    $fontData = $defaultFontConfig['fontdata'];

    $mpdf = new \Mpdf\Mpdf([
    'format' => 'A4',
    'margin_left' => 10,
    'margin_right' => 6,
    'margin_top' => 6,
    'margin_bottom' => 6,
    'margin_header' => 0,
    'margin_footer' => 0,
    'fontDir' => $fontDirs,
    'fontdata' => $fontData + [ // lowercase letters only in font key
    'tahoma' => [
    'R' => 'tahoma.ttf',
    'I' => 'tahoma.ttf',
    //'B' => 'tahomabd.ttf',
    //'BI' => 'tahoma.ttf'
    ],
    ],
    //'default_font' => 'tahoma'
    ]);
    .....
    //PDF
    //Кодировка | Формат | Размер шрифта | Шрифт
    //Отступы: слева | справа | сверху | снизу | шапка | подвал
    $mpdf->charset_in = 'utf-8';

    //шаблон html + css
    //в шаблоне {field1}...{fieldn}
    //в массиве данных $vars['field1'] ... $vars['fieldn']
    $templatez = "../../shablon/blank.html";
    $stylesheetz = "../../shablon/blank.css";

    for ($index = 0; $index < count($vars); $index++) {
    $var = current($vars);
    $templated = str_replace("{" . key($vars) . "}", $var, $templated);
    next($vars);
    }

    $mpdf->WriteHTML($stylesheetz, 1);
    $mpdf->WriteHTML($templatez, 2);

    $mpdf->Output('blank.pdf', 'I');
    Ответ написан
    Комментировать
  • Office Word. Заполнить шаблон из списка?

    @MikhedValery
    https://github.com/VM1968/myXLSX/blob/main/ExcelTo...
    Пример заполнения Шаблона MS Word данными из Excel В документе Word обозначить поля для заполнения {field1}, {field2}
    В файле Excel в соответствующих колонках {field1}, {field2} поместить данные для заполнения.
    В первой колонке должны быть уникальные данные (т.к. они необходимы для именования заполненных файлов Word)

    Открыть в браузере index.html (можно без WEB сервера)
    Ответ написан
    Комментировать
  • Как в Excel для Интернет генерировать документы Word по шаблону?

    @MikhedValery
    https://github.com/VM1968/myXLSX/blob/main/ExcelTo...
    Пример заполнения Шаблона MS Word данными из Excel В документе Word обозначить поля для заполнения {field1}, {field2}
    В файле Excel в соответствующих колонках {field1}, {field2} поместить данные для заполнения.
    В первой колонке должны быть уникальные данные (т.к. они необходимы для именования заполненных файлов Word)
    Открыть в браузере index.html (можно без WEB сервера)
    Ответ написан
    Комментировать
  • Просмотр xls/xlsx на JavaScript?

    @MikhedValery
    Вот пробовал сделать https://github.com/VM1968/myXLSX
    Ответ написан
    Комментировать
  • Инструмент который позволит сканировать из браузера

    @MikhedValery
    Вариант C# Web API for Windows WIA Scanner
    https://github.com/VM1968/ScanerAPI
    Ответ написан
    Комментировать
  • Как с помощью js заполнить шаблон Word?

    @MikhedValery
    В шаблоне docx пометить поля для вставки {field1} {field2} и т.д. закрыть
    В вашей программе
    docx - открыть как обычный архив, достать из него файл word/document.xml
    Подправить заменой как обычный текст. (Сначала с помощью регулярных выражений лишние '<.*?>')

    Например я непосредственно в JSzip пробовал
    function isprXML(xmlfile) {
                // //почистить шаблон до правильного вида переменных {field1}
                var re = /({.*?})/sg;
                var re2 = /(<.*?>)/g;;
                let result = xmlfile.match(re) || [];
                let newres = [];
                result.forEach(element => {
                    var newel = element.replace(re2, "");
                    xmlfile = xmlfile.replace(element, newel);
                });
                return xmlfile;
            }


    Затем просто менять поля {field1} на ваши данные
    xmlfile = xmlfile.replace("field1", data);

    word/document.xml - Положить обратно в архив

    Здесь пример на JS - работает прямо в браузере
    Ответ написан
    4 комментария