6.4 Создание документа PDF из HTML-визуализации

Через запрос к API «Портала ГосЭДО» можно выполнить формирование PDF-файла из файла HTML-визуализации цифрового документа (сформированный ранее командой convertXmlToHtml) с помощью команды convertHTMLToPDF.

Команда: convertHtmlToPdf

Действие:

Создает печатный документ по шаблону НСИ из HTML в файл PDF.

Параметры:

Возвращаемый результат:

Возвращает файл PDF, полученный в результате подготовки к печати.

Пример реализации в JavaScript:

<!--- REST API  Портала ГосЭДО: сервисы для цифровых документов -->
<!--- Для вызова используется REST API http(s)://server-url/#/SERVICE-->
<script>
    async function fetchAdapterService(myAction, myKey, myValue, saveAsFile, mySession = 'NONE') {
        // Пример адреса для обращения к сервисам, если Портал ГосЭДО доступен по IP 10.77.142.21:84
        RESTAPIURL = 'http://10.77.142.21:84/api/service';
        const formData = new FormData();
        formData.append('action', myAction);
        formData.append(myKey, myValue);
        if (mySession != 'NONE') formData.append('session_id', mySession);
        var object = {};
        formData.forEach(function(value, key) {
            object[key] = value;
        });
        const response = await fetch(RESTAPIURL, {
            method: 'POST',
            body: formData
        }).catch((error) = >{});
        
if (response.status == 200) { //Присвоение в переменную file ответа let file = await response.blob(); let link = document.createElement("a"); link.href = window.URL.createObjectURL(file); link.download = saveAsFile; link.click(); } } </script> <!--- REST API Портала ГосЭДО: верстка в PDF из файла HTML --> <script> // функция, которая выполняется при нажатии кнопки «Сверстать в PDF из файла HTML» async function preprintHTMLDocument() { //Получение в переменную myValue файла HTML, выбранного в поле file myValue = document.querySelector('#file').files[0]; //передача параметров в функцию fetchAdapterService: //Команда: convertHtmlToPdf //Параметр: html //Значение параметра: myValue (файл) //Сохранить результат как document.pdf fetchAdapterService('convertHtmlToPdf', 'html', myValue, 'document.pdf'); } </script> <!--поле выбора файла--> <input id="file" type="file"> <!-- кнопка для запуска PDF-визуализации выбранного HTML-файла в поле file--> <button onclick="preprintHTMLDocument()">Сверстать в PDF из файла HTML</button>
Последнее изменение: Wednesday, 26 June 2024, 14:37