1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/magic_yuan_admin-crossbrowser_printing_scheme

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Кроссбраузерное решение для печати

Проект

Существует множество кроссбраузерных компонентов для печати, но они не поддерживают печать PDF-файлов без оплаты лицензии Jatools. Поэтому мы решили сделать это самостоятельно. В любом случае это внутреннее использование, и можно потребовать установки JRE на каждом компьютере. Мы не хотим включать JRE в исполняемый пакет, так как это увеличит его размер. После тестирования мы убедились, что этот подход работает, и теперь готовы поделиться им с нужными людьми.

Архитектура программного обеспечения

Мы используем Java для имитации HTTP-сервера, который по умолчанию слушает порт 8281. Затем мы вызываем локальный принтер из Java. Веб-страница отправляет информацию и параметры для печати через междоменный запрос AJAX.

Инструкция по установке

  1. Скомпилируйте проект в исполняемый jar-файл.
  2. Создайте bat-файл и добавьте его в планировщик задач системы, чтобы обеспечить автоматический запуск при включении компьютера.

Использование

  1. Один запрос AJAX решает задачу:
// Часть кода JS поддерживает пакетную печать нескольких файлов
var srcFiles = [];
var printFileDTO = {};
printFileDTO["fileUrl"] = realPath; // URL-адрес файла PDF, который нужно распечатать
printFileDTO["fileName"] = fileName; // Имя файла PDF (необязательно)
printFileDTO["landscape"] = true; // Требуется ли горизонтальная печать (необязательно)
srcFiles.push(printFileDTO);

$.post("http://127.0.0.1:8281/print", JSON.stringify(srcFiles), function(data) {
    console.log(data)
}, 'json')

Интерфейс выполнения

Задачи печати, инициированные браузером, сохраняются в следующем списке интерфейсов, что упрощает повторную печать на месте: Изображение

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
GPL-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/magic_yuan_admin-crossbrowser_printing_scheme.git
git@api.gitlife.ru:oschina-mirror/magic_yuan_admin-crossbrowser_printing_scheme.git
oschina-mirror
magic_yuan_admin-crossbrowser_printing_scheme
magic_yuan_admin-crossbrowser_printing_scheme
master