Skip to content
This repository has been archived by the owner on Mar 20, 2024. It is now read-only.

1CMedicine/PDFConverter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PDF converter - сервис конвертации HTML в PDF/A-1 для 1С:Медицина

Сервис выполняет конвертацию из XHTML и HTML5 в PDF/A-1, пригодный для регистрации в РЭМД ЕГИСЗ. Для конвертации используется проект openhtmltopdf. См. описание на странице https://github.com/danfickle/openhtmltopdf/wiki.

Сервис реализован как сервлет для веб сервера Jetty версии 9.4+.

Описание веб-ссылок

/send_file.html - форма отправки XHTML или HTML5 для выполнения конвертации.

Не подеерживаются JS скрипты в HTML. Рекомендуется использовать XHTML как более производительный парсер. В HTML должен быть указан шрифт, так как в openhtmltopdf нет шрифта "по умолчанию". Пример:

<style type="text/css">
  body {
     font-family: 'Arial';
  }
</style>

В стилях необходимо использовать только те шрифты, которые предварительно загружены в папку DATA_PATH. Можно использовать шрифты mscorefonts2. В логах работы openhtmltopdf (см. ниже) можно увидеть загруженные шрифты.

На форме можно указать ключ, по которому сервлет сохранит логи работы openhtmltopdf. При открытии лога с этим ключом производится удаление лога.

ВАЖНО! В случае если ключ был указан, то вызов просмотра лога по ключу является обязательным! Отсутвие вызова просмотра лога приведет к утечке памяти в сервисе!

/log_XXXXX - просмотр лога

XXXXX - ключ, который был передан при запуске конвертации. После открытия лога ключом производится удаление этого лога.

/convertStrictHtml - конвертация XHTML в PDF/A-1

Запуск конвертации файла, переданного в форме. Если в форме передан ключ лога, то включается запись логов. В случае фатальной ошибки формирования pdf возвращается файл нулевого размера. В этом случае причина ошибки будет в логе как "WARNING Unhandled exception ...".

/convertHtml5 - конвертация HTML5 в PDF/A-1

Запуск конвертации файла, переданного в форме. Если в форме передан ключ лога, то включается запись логов. В случае фатальной ошибки формирования pdf возвращается файл нулевого размера. В этом случае причина ошибки будет в логе как "WARNING Unhandled exception ...".

Папка src/main

Содержит исходный код. Для сборки проекта необходимо выполнить команду

mvn package

в папке, где расположен файл pom.xml. Подробнее о Maven можно найти на странице https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html.

Параметры сервлета

В файле PdfConverter.war:\WEB-INF\web.xml задаются следующие параметры:

  • DATA_PATH - полный путь к папке, где хранятся TrueType шрифты, используемые для формирования PDF/A-1. Значение по умолчанию - /var/www/upload/PDFConverter.

Установка

Для работы сервлета semd.war нужен Jetty версии 9.4 или выше. Необходимо опубликовать сервлет semd.war в Jetty 9. Необходимо руководствоваться инструкций по публикации Jetty.

Для Jetty9 из состава Ubuntu 20.04 файл semd.war необходимо поместить в папку /var/lib/jetty9/webapps. Отвечать сервлет будет по адресу "http:/localhost:9000/semd/login.html".

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published