6.4 Создание документа PDF из HTML-визуализации
Через запрос к API «Портала ГосЭДО» можно выполнить формирование PDF-файла из файла HTML-визуализации цифрового документа (сформированный ранее командой convertXmlToHtml) с помощью команды convertHTMLToPDF.
Команда: convertHtmlToPdf
Действие:
Создает печатный документ по шаблону НСИ из HTML в файл PDF.
Параметры:
- html (файл) – визуализация цифрового документа в файле HTML (например, полученный после выполнения команды convertXmlToHtml см. раздел 6.2 HTML-визуализация документа из файла XML).
Возвращаемый результат:
Возвращает файл 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