WinDjView » Содержание в DjVu
Содержание в DjVu
Файлы DjVu могут иметь встроенное содержание со ссылками на главы и разделы документа. WinDjView умеет отображать содержание, если оно присутствует в документе, однако функция редактирования этих ссылок отсутствует. Для встраивания содержания в документы DjVu предусмотрена отдельная утилита, называющаяся BookmarkTool.
Скачать BookmarkTool
BookmarkTool загружает содержание из файла HTML со специальной структурой. Такие файлы генерирует Adobe Acrobat при экспорте PDF в HTML. Приведённого ниже примера должно быть достаточно для понимания этой структуры. HTML файл должен иметь кодировку UTF-8; значение charset, указанное в файле, не используется. Пожалуйста, используйте именно эту кодировку для всех не-ASCII символов (в том числе и для русского языка).
Пример
<html> <body> <ul> <li><a href="#1">Link to page 1</a></li> <li><a href="#2">Link to page 2</a></li> <li><a href="#3">Chapter 1</a> <ul> <li><a href="#4">Link to page 4</a></li> <li><a href="#5">Link to page 5</a></li> </ul> </li> <li><a href="">Chapter 2, no link here</a> <ul> <li><a href="#6">Subsection</a> <ul> <li><a href="#7">Link to page 7</a></li> <li><a href="#8">Link to page 8</a></li> </ul> </li> <li><a href="#9">Link to page 9</a></li> </ul> </li> <li><a href="book.djvu#10">Page 10 in book.djvu</a></li> <li><a href="http://windjview.sf.net">Web link</a></li> </ul> </body> </html>
WinDjView » Новости
Октябрь 21st, 2012WinDjView is a fast, compact and powerful DjVu viewer for Windows with tabbed interface, continuous scrolling and advanced printing options. WinDjView 2.0.2 fixes a few bugs of the previous version. http://windjview.sourceforge.net
Posted in News | Comments Off on WinDjView 2.0.2 released
Июнь 30th, 2012WinDjView is a fast, compact and powerful DjVu viewer for Windows with tabbed interface, continuous scrolling and advanced printing options. WinDjView 2.0 introduces a refreshed user interface with new toolbar icons and display tweaks. It now comes in a native 64-bit version for 64-bit versions of Windows. This version also adds a few other improvements, please see the changelog for details. http://windjview.sourceforge.net
Posted in News | Comments Off on WinDjView 2.0 released
Август 15th, 2009WinDjView is a fast, compact and powerful DjVu viewer for Windows with tabbed interface, continuous scrolling and advanced printing options. WinDjView 1.0.3 fixes a problem with fullscreen mode introduced in 1.0.2. http://windjview.sourceforge.net
Posted in News | Comments Off on WinDjView 1.0.3 released
Август 14th, 2009WinDjView is a fast, compact and powerful DjVu viewer for Windows with tabbed interface, continuous scrolling and advanced printing options. WinDjView 1.0.2 adds a few improvements and bugfixes. http://windjview.sourceforge.net
Posted in News | Comments Off on WinDjView 1.0.2 released
Март 20th, 2009WinDjView is a fast, compact and powerful DjVu viewer for Windows with tabbed interface, continuous scrolling and advanced printing options. WinDjView 1.0.1 adds several improvements and bugfixes. http://windjview.sourceforge.net
Posted in News | Comments Off on WinDjView 1.0.1 released
Февраль 20th, 2009WinDjView is a fast, compact and powerful DjVu viewer for Windows with tabbed interface, continuous scrolling and advanced printing options. WinDjView 1.0 is a major update that refreshes the interface of the program with the addition of tabs for documents. It also adds an alternative mode, when each document is opened in its own top-level window. There are also many other smaller enhancements throughout the program. This is a first 1.x release, so the program is now considered stable. WinDjView 1.0 supports all popular Windows versions \(Vista/2003/XP/2000/ME/98/NT4\). The setup program will detect the OS version and install an appropriate binary automatically. http://windjview.sourceforge.net
Posted in News | Comments Off on WinDjView: 1.0 released
Январь 31st, 2009Обновлён сайт программы WinDjView. Новый сайт работает на платформе WordPress.
Posted in News | Comments Off on Обновлён сайт
Май 30th, 2007WinDjView is a fast, compact and powerful DjVu viewer for Windows with continuous scrolling and advanced printing options. WinDjView 0.5 adds several important new features, like user-created annotations and bookmarks, and fixes a number of bugs. Bookmark Tool 2.0 is a GUI application for embedding bookmarks in a DjVu file. In this new version export of bookmarks was also added. http://windjview.sourceforge.net
Posted in News | Comments Off on WinDjView 0.5 and Bookmark Tool 2.0 released
Сентябрь 15th, 2006WinDjView is a fast, compact and powerful DjVu viewer for Windows with continuous scrolling and advanced printing options. WinDjView 0.4.3 has several new improvements and bugfixes. http://windjview.sourceforge.net
Posted in News | Comments Off on WinDjView 0.4.3 released
Июль 24th, 2006WinDjView is a fast, compact and powerful DjVu viewer for Windows with continuous scrolling and advanced printing options. WinDjView 0.4.2 has a couple of new features, as well as a number of improvements and bugfixes. http://windjview.sourceforge.net
Posted in News | Comments Off on WinDjView 0.4.2 released
Как конвертировать файлы DjVu в формат JPEG
Формат DjVu – формат файлов, в основном предназначенный для хранения сканированных документов, особенно документов, содержащих в себе одновременно текст, чертежи, индексированные цветные изображения и фотографии. Хотя этот формат стал популярен, открытие файлов формата DjVu вызывает проблемы, т.к. для их просмотра требуются дополнительные плагины или специализированные программы. При помощи программы Универсальный Конвертер Документов вы сможете сделать файлы DjVu удобнее, конвертировав их в формат JPEG. Это подготовит их к для распространения в сети Internet, отправке по электронной почте и пр.
На этой странице:
- Как конвертировать файлы DjVu в формат JPEG
- Как поставить водяной знак на выходные JPEG-файлы
Чтобы конвертировать файл DjVu в формат JPEG вам потребуются две программы: WinDjView и Универсальный Конвертер Документов.
Шаг 1: Откройте документ DjVu и нажмите Print (Печать)
Шаг 2: Выберите Universal Document Converter из списка принтеров и нажмите Properties (Свойства)
Шаг 3: Зайдите во вкладку File Format (Формат файла), выберите JPEG Image (Изображение JPEG) и нажмите OK.
Шаг 4: Нажмите Print (Печать), чтобы сохранить файл DjVu в формате JPEG.
- Откройте файл DjVu и нажмите Print (Печать)
- Выберите Universal Document Converter из списка принтеров и нажмите Properties (Свойства)
- Перейдите на вкладку File Format (Формат файла) и укажите JPEG Image (Изображение JPEG)
- Перейдите на вкладку Watermark (Водяные знаки) и выберите Text label (Текст) или Picture (Изображение) на ваше усмотрение
- Нажмите OK для запуска конвертации вашего файла DjVu в формат JPEG.
David Marion
Департамент ГИС и САПР г. Миссиссага, Канада
«В нашем отделе мы разрабатываем карты городских дорог с помощью программы Bentley Systems MicroStation. Для публикации карт на городском сайте мы должны экспортировать их в формат GIF. Однако качество файлов GIF, изготавливаемых средствами MicroStation, нас не устраивает. Универсальный конвертер документов позволяет нам печатать карты из MicroStation в файлы GIF с сохранением высокого качества изображений.»
Популярные решения
формат DjVu — как создать, просмотреть и распечатать файл?
DjVu («Дежавю») — это графический формат. То есть DjVu-файлы — это просто «картинки». Основное полезное свойство формата DjVu состоит в том, что он умеет наиболее хорошо (по сравнению со всеми остальными графическими форматами) «сжимать» сканированные изображения страниц бумажных книг — из-за чего этот формат широко применяется для создания электронных версий бумажных книг.
Как правило, это делается так: сначала необходимо каким-либо способом получить обычные графические файлы — «картинки» — содержащие изображения страниц бумажных книг. Обычно их получают путём сканирования бумажных книг. Потом эти обычные графические файлы кодируют в формат DjVu, отчего их размер сильно уменьшается — без потери качества изображения текста. Полученный DjVu-файл используется как электронная книга: его можно читать с экрана монитора, можно обмениваться друг с другом такими самодельными файлами через Интернет, можно распечатывать на принтере.
Для создания файла формата DjVu используется утилита DjvuSolo, а для разбиения — конвертер djvu2graf
Инструкцию по применению смотри здесь
DjvuSolo — бесплатная программа для просмотра, редактирования и создания файлов формата DjVu.
STDU Viewer — компактная программа для чтения электронных документов (книг). Поддерживает форматы DjVu, PDF и TIFF
djvu2graf — конвертор DjVu. Програма конвертирует файлы DJVU -разбивает страницы в графические файлы формата JPG, BMP, TIFF.
DjVu Editor — программа для редактирования DjVu файлов
DjVuLibre DjView — программа для просмотра, конвертирования документов и изображений в формате DjVu
Как распечатать файл формата DjVu?
Скачайте и установите программу WinDjView. Откройте в ней DjVu-файл, выберите в меню пункт «Файл» — «Печать» и распечатайте его.
Оставьте свой комментарий!
Добавить комментарий
< Предыдущая | Следующая > |
---|
Конвертировать DJVU в DWG быстро и качественно – Фотоконвертер
Лучший способ для перевода DJVU в DWG
Самый удобный вариант для конвертации DJVU файлов – это скачать и установить Фотоконвертер. Установленная программа работает быстро и эффективно, позволяя конвертировать множество файлов DJVU в формат DWG за раз.
Вы довольно быстро оцените, как Фотоконвертер способен сэкономить массу времени, необходимого при обработке файлов вручную или онлайн.
Скачайте и установите Фотоконвертер
Фотоконвертер легко скачать, установить и использовать – не нужно быть специалистом, чтобы разобраться как он работает.Установить Фотоконвертер
Добавьте DJVU файлы
После того, как программа установилась, запустите Фотоконвертер и добавьте в главное окно все .djvu файлы, которые вы хотите конвертировать в .dwg
Вы можете выбрать DJVU файлы через меню Файлы → Добавить файлы либо просто перекинуть их в окно Фотоконвертера.
Выберите место, куда сохранить полученные DWG файлы
Во вкладке Сохранить выберите папку для записи готовых DWG файлов.
Во вкладке Редактировать есть возможность добавить эффекты редактирования изображений для использования во время конвертации, но это не обязательно.
Выберите DWG в качестве формата для сохранения
Для выбора преобразования в .dwg, нажмите на иконку DWG в нижней части экрана, либо кнопку +, чтобы добавить возможность записи в этот формат.
Теперь просто нажмите кнопку Старт, чтобы начать конвертацию. Созданные DWG файлы сохранятся в указанное место с нужными параметрами и эффектами.
Попробуйте бесплатную демо-версиюВидео инструкция
Интерфейс командной строки
Опытные пользователи могут использовать конвертер DJVU в DWG через командную строку в ручном или автоматическом режиме.
За дополнительной помощью по использованию по использованию командной строки обращайтесь в службу поддержки пользователей.
DjVu — его история, плюсы, минусы и особенности / Блог компании МакЦентр / Хабр
В начале 70-х годов американский писатель Майкл Харт (Michael Hart) сумел получить неограниченный доступ к компьютеру Xerox Sigma 5, установленному в университете штата Иллинойс. Чтобы достойно использовать ресурсы машины, он решил создать первую электронную книгу, перепечатав Декларацию независимости США.Сегодня цифровая литература получила широкое распространение, во многом благодаря развитию портативных устройств (смартфонов, ридеров, ноутбуков). Это привело к появлению большого количества форматов электронных книг. Попробуем разобраться в их особенностях и расскажем историю наиболее популярных из них — начнем с формата DjVu.
/ Flickr / Lane Pearman / CC
Возникновение формата
DjVu был разработан в 1996 году компанией AT&T Labs с одной целью — дать веб-разработчикам инструмент для распространения изображений в высоком разрешении через интернет.
Дело в том, что в то время 90% всей информации все еще хранилось на бумаге, а многие из важных документов имели цветные изображения и фотографии. Чтобы сохранить читаемость текста и качество картинок, приходилось делать сканы в высоком разрешении.
Классические веб-форматы — JPEG, GIF и PNG — позволяли работать с такими изображениями, но ценой объема. В случае JPEG, чтобы текст был читаем на экране монитора, приходилось сканировать документ с разрешением 300 dpi. Цветная страница журнала при этом занимала порядка 500 Кбайт. Скачивание файлов такого объема из интернета в то время было довольно трудоемким процессом.
Альтернативой было оцифровывание бумажных документов с помощью технологий распознавания текста, однако 20 лет назад их точность была далека от идеальной — после обработки финальный результат приходилось серьезно править вручную. При этом графики и изображения оставались «за бортом». И даже если удавалось встроить отсканированную картинку в текстовый документ, терялись некоторые визуальные детали, например, цвет бумаги, её текстура, а это важные компоненты исторических документов.
С целью решить эти проблемы AT&T и разработали DjVu. Он позволил сжимать отсканированные цветные документы с разрешением 300 dpi до 40–60 Кбайт, при размере оригинала в 25 Мбайт. Размеры чёрно-белых страниц DjVu уменьшил до 10–30 Кбайт.
Как DjVu сжимает документы
DjVu может работать как с бумажными отсканированными документами, так и с другими цифровыми форматами, например PDF. В основе работы DjVu лежит технология, разбивающая изображение на три компонента: передний план, задний план и чёрно-белую (битовую) маску.
Маска сохраняется с разрешением исходного файла и содержит изображение текста и прочие чёткие детали — тонкие линии и схемы — а также контрастные картинки.
Она имеет разрешение 300 dpi, чтобы тонкие линии и контуры букв оставались четкими, и сжимается с помощью алгоритма JB2, который представляет собой вариацию алгоритма JBIG2, предложенного AT&T для работы факсов. Особенностью JB2 является то, что он ищет на странице повторяющиеся символы и сохраняет их изображение только один раз. Таким образом, в многостраничных документах каждые несколько последовательных страниц пользуются общим «словарём».
Задний план содержит текстуру страницы и иллюстрации, а его разрешение меньше, чем у маски. Фон без потерь для восприятия сохраняется с разрешением 100 dpi.
Передний план хранит цветовую информацию о маске, и его разрешение обычно понижается ещё сильнее, так как в большинстве случаев цвет текста черный и одинаковый для одного печатного знака. Для сжатия переднего и заднего планов используется вейвлетное сжатие.
Заключительным этапом создания DjVu-документа становится энтропийное кодирование, когда адаптивный арифметический кодировщик превращает последовательности одинаковых символов в бинарное значение.
Достоинства формата
Задачей DjVu было сохранить «свойства» бумажного документа в цифровом виде, позволив работать с такими документами даже слабым компьютерам. Поэтому ПО для просмотра DjVu-файлов обладает возможностью «быстрого рендеринга». Благодаря ей в память загружается только тот кусочек DjVu-страницы, который должен отображаться на экране.
Это также дает возможность просматривать «недокачанные» файлы, то есть отдельные страницы многостраничного DjVu-документа. При этом используется прогрессивная прорисовка деталей изображения, когда компоненты как бы «проявляются» по мере закачки файла (как в JPEG).
20 лет назад, когда был представлен этот формат, загрузка страницы происходила в три этапа: сперва грузилась текстовая составляющая, через пару секунд подгружались первые версии изображений и фон. Уже после «проявлялась» вся страница книги.
Наличие трёхуровневой структуры также позволяет осуществлять поиск по отсканированным книгам (так как есть специальный текстовый слой). Это оказалось удобно при работе с технической литературой и справочниками, поэтому DjVu стал основой для нескольких библиотек научных книг. Например, в 2002 году он был выбран Архивом Интернета в качестве одного из форматов (вместе с TIFF и PDF) для проекта по сохранению отсканированных книг из открытых источников.
Недостатки формата
Однако, как и все технологии, DjVu имеет свои минусы. Например, при кодировании сканов книг в формат DjVu некоторые символы в документе могут подменяться на другие, внешне похожие. Наиболее часто это происходит с буквами «и» и «н», отчего эта проблема получила название «проблема инь». Она не зависит от языка текста и влияет, в том числе, на цифры и другие мелкие повторяющиеся знаки.
Её причина — ошибки классификации символов в кодировщике JB2. Он «дробит» сканы на группы по 10–20 штук и формирует для каждой из групп словарь общих символов. Словарь содержит образцы общих букв и цифр со страницами и координатами их появления. Когда вы просматриваете DjVu-книгу, символы из словаря подставляются в нужные места.
Это позволяет уменьшить размеры DjVu-файла, однако, если отображения двух букв визуально похожи, кодировщик может их или перепутать, или принять за одинаковые. Иногда это приводит к порче формул в техническом документе. Для решения этой проблемы можно отказаться от алгоритмов сжатия, однако это увеличит размеры цифровой копии книги.
Другим недостатком формата является то, что он не поддерживается по умолчанию во многих современных ОС (в том числе мобильных). Поэтому для работы с ним нужно ставить сторонние программы, такие как DjVuReader, WinDjView, Evince и др. Однако здесь хотелось бы отметить, что некоторые электронные читалки (например, ONYX BOOX) поддерживает формат DjVu «из коробки» — так как необходимые приложения там уже установлены.
Кстати, о том, что еще могут приложения для ридеров на базе Android, мы рассказывали в одном из предыдущих материалов.
Ридер ONYX BOOX Chronos
Еще одна проблема формата проявляется при работе с DjVu-документами на небольших экранах мобильных устройств — смартфонах, планшетах, ридерах. Иногда DjVu-файлы представлены в виде скана разворота книги, а профессиональная литература и рабочие документы часто имеют формат А4, поэтому приходится «двигать» изображение в поисках информации.
Однако отметим, что эта проблема также решаема. Проще всего, конечно, поискать документ в другом формате — но если такой вариант невозможен (например, вам нужно работать с большим количеством технической литературы в DjVu), то можно воспользоваться электронными читалками с большой диагональю от 9,7 до 13,3 дюйма, которые специально «заточены» под работу с подобными документами.
Например, в линейке ONYX BOOX такими устройствами являются Chronos и MAX 2 (кстати, мы подготовили обзор этой модели ридера, и в скором времени опубликуем его в нашем блоге), а также Note, который имеет экран E Ink Mobius Carta с диагональю 10,3 дюйма и повышенным разрешением. Такие устройства позволяют спокойно рассмотреть все детали иллюстраций в оригинальном размере и подойдут тем, кому часто приходится читать учебную или техническую литературу. Для просмотра файлов DjVu и PDF используется NEO Reader, который дает настраивать контраст и толщину оцифрованных шрифтов.
Несмотря на имеющиеся у формата недостатки, на сегодняшний день DjVu остается одним из самых популярных форматов для «сохранения» литературных произведений. Во многом это обусловлено тем, что он является открытым, а обойти его некоторые технологические ограничения сегодня позволяют современные технологии и разработки.
В следующих материалах мы продолжим рассказ об истории появления форматов электронных книг и особенностях их работы.
P.S. Несколько оборов ридеров ONYX BOOX:
Что такое ДежаВю и с чем его едят, т.е. читают ДежаВю — новый формат для документов (как текстовых, так и графических), позволяющий весьма существенно (в 5-10 раз) уменьшить размер документа при сохранении качества изображения. К примеру, книга В.П.Кондратьева «Самолет своими руками» при постраничном размещении в формате gif занимает у нас на сайте 24 Мб. Та же книга при том же качестве, преобразованная в формат ДежаВю, занимает всего 4 Мб! Это особенно оценят те, кому приходится скачивать материалы через слабый модемный канал. А таких среди нас много и еще долго будет много. Я и сам пока по большей части пользуюсь модемным доступом, поэтому достоинства ДежаВю оценил сразу же. Работа с ДВ не требует специальных знаний или дорогостоящих программ. Просматривать полученные файлы можно скачав и установив на свой компутер небольшую (всего 2 с небольшим Мб) программу. Скачать ее можно, например, отсюда (спасибо Стасу). Таких программ на сегодня существует уже несколько, но предлагаемый Solo показался нам наиболее удобным, хотя есть и другие (см. ниже). Solo позволяет также создавать из имеющихся документов новые файлы ДежаВю (*.djvu), как одностраничные, так и многостраничные, в том числе с возможностью организации внутри документа системы гиперссылок. В общем, пробуйте — и привыкайте. Подавляющее большинство сайтов стремительно переходят на размещение у себя документов в формате ДежаВю, т.ч. привычный *.pdf, возможно, вскоре станет редкостью. Что пишут о ДежаВю компьютерные спецы: DjVu (читается «де-жа-вю») – это новая технология сжатия изображений разработанная в 1996г. AT&T Labs именно для этой цели. DjVu позволяет распростраение по интернету изображений документов очень высокого качества, цифровых документов и фотографий. DjVu позволяет редакторам сканировать в высоком разрешении цветные страницы книг, журналы, каталоги, руководства, газеты, исторические и древние документы, и сделать их доступными на вебе. Обычно DjVu сжимает в 5-10 раз лучше, чем существующие методы вроде JPEG и GIF для цветных документов, и в 3-8 раз лучше TIFF для черно-белых документов. Цветные страницы, сканированные в полном цвете с разрешением 300 DPI могут быть сжаты с 25МБ до 30-100КБ. Черно-белые документы 300 DPI обычно сжимаются до 5-30КБ. Это ставит размер качественно сканированных страниц в один ряд с обычными HTML страницами (занимающими обычно 50КБ) Для цветных документов содержащих одновременно текст и картинки файлы DjVu обычно в 5-10 раз меньше JPEG файлов того же качества. Для черно-белых страниц DjVu файлы обычно в 10-20 раз меньше JPEG и в 5 раз меньше GIF. Также DjVu файлы в 3-8 раз меньше черно-белых PDF файлов, полученных из сканированных документов (сканировать цветные докумеенты в PDF непрактично). Помимо сканирования документов DjVu можно применять к документам, созданным другими программами, например Adobe PostScript или PDF. В этом случае размер файла варьируется от 15 до 20КБ за страницу 300 DPI. DjVu плагин доступен для стандартных браузеров (IE и Netscape) для различных платформ. DjVu плагин позволяет легко перемещаться и увеличивать страницы документа. Уникальная технология распаковки «на лету» позволяет изображениям размером 25МБ занимать только 2МБ ОЗУ. Список программ, работающих с файлами в формате djvu:
Для конвертации pdf в djvu
подходит пакет GhostScript + GhostView(http://www.cs.wisc.edu/),
который позволяет преобразовать pdf в самые различные форматы, например в bmp с
разрешением 600 dpi. Файл djvu после такой операции получается прекрасного
качества, но раз в пять меньше оригинала. Кстати, для работы с pdf упомянутый
пакет очень удобен и полезен, поскольку другие софты сложны и объемны. Если лениво читать все приведенные выше ссылки, тогда плагин для просмотра файлов *.DjVu в вашем Интернет-броузере можно ,без лишних поисков скачать здесь , здесь: или здесь Он небольшой. Если мы не обнаружим серьезных противопоказаний, постепенно все материалы нашей библиотеки будут переводиться в этот формат, что позволит сэкономить место на сервере и существенно увеличить наши возможности по размещению новых материалов. Назад в библиотеку |
Формат файла DJVU
Что такое файл DJVU?
DjVu, произносится как «дежавю», представляет собой формат графического файла, предназначенный для отсканированных документов и книг, особенно тех, которые содержат комбинацию текста, рисунков, изображений и фотографий. Он был разработан AT&T Labs. Он использует несколько методов, таких как разделение слоев изображения текста и фоновых изображений, прогрессивная загрузка, арифметическое кодирование и сжатие с потерями для битональных изображений. Поскольку файл DJVU может содержать сжатые, но высококачественные цветные изображения, фотографии, текст и рисунки и может быть сохранен на меньшем пространстве, поэтому он используется в Интернете в качестве электронных книг, руководств, газет, древних документов и т. Д.
DjVu можно считать лучшей альтернативой PDF. Расширения файлов, связанных с DjVu, — .DJVU или .DJV. DjVu может достигать степени сжатия примерно в 5-10 раз лучше, чем существующие методы, такие как JPEG и GIF, для цветных документов и в 3-8 раз лучше, чем TIFF в черно-белых документах. Отсканированные документы с разрешением 300 точек на дюйм и полноцветным режимом до 25 МБ можно сжать до 30–100 КБ. Аналогичным образом черно-белые документы могут быть сжаты до 5–30 КБ. Средняя HTML-страница может составлять до 50 КБ, поэтому эти документы могут быть загружены в сеть без каких-либо проблем.
Краткая история
Технология DjVu была разработана в лабораториях AT&T Яном ЛеКуном, Леоном Ботту, Патриком Хаффнером и Полом Джи с 1996 по 2001 год. Формат файла DjVu претерпевал различные изменения, последняя из которых была в 2005 году.
Версия | Дата выпуска | Примечания |
---|---|---|
1–19 | 1996–1999 | Это версии для разработки. |
20 | Апрель 1999 г. | Одностраничный формат был изменен на многостраничный. |
23 | июль 2002 г. | фрагмент CID |
24 | февраль 2003 г. | LTAnno фрагмент |
21 | сентябрь 1999 г. | Формат косвенного хранения заменен. Добавлен слой текстового поиска. |
22 | Апрель 2001 г. | Ориентация страницы, цвет JB2 |
25 | Май 2003 г. | Блок NAVM. Добавлена поддержка закладок DjVu. |
26 | Апрель 2005 г. | Текст / строчные аннотации |
Формат файла DjVu
Документы DjVu представляют собой файлы IFF85. Структура обеспечивает иерархию контейнеров, в которых хранится информация в файле DjVu. Эти контейнеры также называются «Чанками». Тип блока и идентификатор блока описывают, как используется блок. За ним следует 4-байтовый заголовок, за которым следует структура IFF. Первые четыре байта файла DjVu: 0x41 0x54 0x26 0x54. В этом разделе обсуждаются различные типы документов DjVu и соответствующие фрагменты, из которых они состоят.
ID блока | Использование |
---|---|
FORM | Составной блок, имеющий первые четыре байта данных блока FORM, которые являются вторичным идентификатором. |
ФОРМА: DJVM | Многостраничный документ DjVu. Составной блок, содержащий блок DIRM. |
ФОРМА: DJVU | Одностраничный документ DjVu. Составной блок, содержащий блоки, составляющие страницу в документе djvu. |
ФОРМА: DJVI | «Общий» файл DjVu, который включается через блок INCL. Общие аннотации и словарь форм. |
FORM: THUM | Составной блок, содержащий блоки Th54, которые являются встроенными эскизами. |
DIRM | Информация о названии страницы для многостраничных документов. |
NAVM | Информация о закладках |
ANTa, ANTz | Аннотации, включая как начальные настройки просмотра, так и наложенные гиперссылки, текстовые поля и т. Д. |
TXTa, TXTz | Unicode Текст и информация о макете. |
Djbz | Таблица общей формы. |
Sjbz | BZZ-сжатые битональные данные JB2, используемые для хранения маски. |
FG44 | Данные IW44, используемые для хранения переднего плана |
BG44 | Данные IW44, используемые для хранения фона |
Th54 | Данные IW44, используемые для хранения встроенных миниатюрных изображений |
WMRM | данных JB2 требуется для удаления водяного знака |
FGbz | Цвет данных JB2.Предоставляет цвет для каждого (блит или фигура?) В соответствующем блоке Sjbz. |
INFO | Информация о странице DjVu |
INCL | Идентификатор включенного блока FORM: DJVI. |
BGjp | Фон в кодировке JPEG |
FGjp | Передний план в кодировке JPEG |
Smmr | Маска в кодировке G4 |
DJVU Compression
Одно изображение разделено на множество различных изображений, а затем каждое изображение сжимается отдельно.Для создания файла DjVu изображение сначала разделяется на три изображения: фон, передний план и изображение маски. Обычно фоновые изображения и изображения переднего плана представляют собой цветные изображения с низким разрешением; но изображение маски — это изображение с более высоким разрешением, и обычно там хранится текст. После разделения изображения переднего плана и фона сжимаются с помощью алгоритма сжатия на основе вейвлетов IW44, в то время как изображение маски сжимается с использованием другого метода, называемого JB2.
Метод кодирования JB2 устраняет большую часть избыточности в текстовом изображении, идентифицируя идентичные формы на странице, например, несколько вхождений символа в определенном шрифте.JB2 сначала кодирует растровое изображение каждой уникальной формы, используя преимущество избыточности между подобными формами. Затем он кодирует места, в которых каждая фигура появляется на странице. И JB2, и IW44 полагаются на новый тип адаптивного двоичного арифметического кодера, называемый ZP-кодером, который сжимает любую оставшуюся избыточность в пределах нескольких процентов от предела Шеннона. ZP-кодер адаптивен и быстрее, чем другие приблизительные двоичные арифметические кодеры.
Ссылки
электронных книг DejaVu (* .djvu), PDF и Kindle
DejaVu (*.djvu) электронные книги, PDF и Kindle Недавно я наткнулся на файл DejaVu, который хотел просмотреть на своем Amazon Kindle 3. Kindle 3 не может нормально просматривать эти файлы электронных книг, я попытался поместить файл в папку Documents
на моем Kindle, но он не отображался, и ничего не произошло. Формат файлов электронных книг DejaVu часто используется для отсканированных документов, поскольку он отлично подходит для сжатия и небольших размеров файлов.
Лучший способ — использование DjVuLibre
Если вы установите пакет djvulibre-bin (ссылка для установки Ubuntu), то теперь у вас будет команда djvups
, которая преобразует файл DejaVu в PostScript (.пс). Затем вы можете использовать любой инструмент (например, ps2pdf
), чтобы превратить этот .ps в .pdf.
Полная последовательность команд
djvups original_file.djvu temp.ps
ps2pdf temp.ps outputfile.pdf
rm temp.ps
По моему опыту, использование djvups намного быстрее, чем использование ImageMagick convert, и использует гораздо меньше памяти. Преобразование в .ps быстрое, но этап преобразования в PDF может занять больше времени. Еще раз, файл pdf (и файл ps) намного больше, чем файл .djvu (примерно в 100 раз больше)
Хуже
Прежде чем я узнал о djvulibre-bin
, я попытался использовать ImageMagick и распечатать в PDF.Всегда полезнее сначала выполнить поиск по способностям XXX
. ☺
Командная строка с использованием ImageMagick
Вы можете использовать программу ImageMagick convert
, чтобы преобразовать файл djvu в pdf в командной строке, а затем просмотреть этот PDF-файл на вашем Kindle.
преобразовать исходный файл.djvu output.pdf
Чем больше страниц в файле djvu, тем больше времени и памяти потребуется для его выполнения. Полученный PDF-файл может быть довольно большим.
Использование графического интерфейса Gnome и печать в PDF
Вы можете преобразовать файл DejaVu в PDF с помощью программы просмотра документов GNOME.Просто откройте файл как обычно в графическом интерфейсе и распечатайте его в формате PDF. Это создаст PDF-файл, который вы можете поместить на зажигалку. Но по моему опыту, файл PDF намного больше, чем файл djvu.
Прочие опции
k2pdfopt — еще один инструмент. (Еще не пробовал)
Быстрый способ открытия файлов с помощью расширения DEJAVU-THE
Загрузить Universal File Viewer (File Magic)Дополнительное предложение для File Magic от Solvusoft | EULA | Политика конфиденциальности | Условия | Удалить
Если у вас нет неизвестного файла Apple II
Чтобы открыть файл DEJAVU-THE, вам необходимо загрузить Unknown Apple II File или другой аналогичный пакет программного обеспечения.
Если ваш компьютер не настроен для открытия файлов DEJAVU-THE
Если у вас есть соответствующее программное обеспечение, но ваш компьютер по-прежнему не запускает его, вам придется изменить ассоциации файлов в Windows или Mac. В зависимости от вашей операционной системы вы можете убедиться, что ваш компьютер всегда открывает файлы DEJAVU-THE, используя Unknown Apple II File или другую программу по вашему выбору, которая использует файлы DEJAVU-THE.
Если и это не сработает, вы можете связаться со своим разработчиком программного обеспечения, чтобы узнать, что вы можете сделать. Вы можете связаться с любым из этих разработчиков для получения дополнительной информации или помощи:
Программное обеспечение | Разработчик |
---|---|
Неизвестный файл Apple II | можно найти на компакт-диске Golden Orchard Apple II CD Rom |
Если файл DEJAVU-THE поврежден
В некоторых случаях может появиться сообщение об ошибке о том, что файл поврежден. Если вы попробовали все вышеперечисленное, но все равно не работает, загрузите или запросите новую копию, чтобы проверить, работает ли это.
Откройте файл DEJAVU-THE Easy Way
Если вы не хотите загружать Неизвестный файл Apple II (по какой-либо причине), а другие варианты также не работают … ничего страшного!
Даже если некоторые файлы DEJAVU-THE необходимо открыть в программе, для которой они были разработаны (двоичный формат), вы все равно сможете открыть их в универсальном средстве просмотра файлов, таком как File Magic.Загрузите File Magic прямо сейчас из Microsoft Store и откройте свой файл DEJAVU-THE!
Рекомендуемая загрузка К сожалению, ваш браузер не поддерживает встроенные видео.Загрузить универсальную программу просмотра файлов (File Magic)
Дополнительное предложение для File Magic от Solvusoft | EULA | Политика конфиденциальности | Условия | Удалить
Основы: Поиск и устранение неисправностей: |
Что такое дежавю? |
Дежавю — это панель предпочтений, которая позволяет:
|
Как использовать дежавю? |
Это довольно просто:
Когда: Как часто следует выполнять резервное копирование папки (ежедневно, еженедельно, ежемесячно или вручную). What: Где: СОВЕТ: Любые элементы, которые не отмечены в первом столбце, будут проигнорированы. |
Значок строки меню «Дежавю» |
Обратите внимание на значок в строке меню «Дежавю». Когда выполняется резервное копирование, маленькие стрелки часов появляются внутри значка, чтобы проинформировать вас об этом. В противном случае, когда дежавю бездействует, отображается значок обычного круга. В самом меню вы найдете несколько полезных битов информации:
|
Как запланировать резервное копирование? |
В основной таблице элементов для резервного копирования все отмеченные элементы, для которых установлено значение «Ежедневно», «Еженедельно» или «Ежемесячно», будут автоматически запланированы или обновлены по мере необходимости при выходе из системных настроек. Откройте вкладку «Параметры »> «Расписания» , чтобы увидеть различные параметры расписания. Надеюсь, большая часть того, что там будет найдено, не требует пояснений, но некоторые вещи стоит упомянуть.
|
Как синхронизировать папки? |
Если вы отметите «Зеркальная синхронизация» на вкладке «Параметры» — «Общие», Déjà Vu удалит все файлы из папки назначения, которых больше нет в исходной папке. Естественно, вы должны быть осторожны при использовании этой опции. Зеркальное отображение является однонаправленным. Другими словами, это заставит папку назначения выглядеть так же, как исходная папка, но не наоборот. ] |
Как клонировать системный диск? |
Вот рекомендуемые действия:
|
Как я могу исключить определенные элементы из резервного копирования? |
Если вы хотите сэкономить место на целевом диске или уменьшить время резервного копирования, вы можете указать, что определенные элементы будут исключены из ваших резервных копий. Исключения можно добавить на вкладке «Параметры »> «Исключения ». Когда вы нажимаете кнопку «+», чтобы добавить исключение, обратите внимание на два флажка, которые появляются в нижней части диалогового окна «Выбрать»: Показать скрытые элементы (ярлык Cmd-S): это переключит видимость скрытых файлов и папок, что упрощает выбор, например, элементов в папке Library , которая по умолчанию скрыта, начиная с Mac OS X Lion. Исключить все похожие элементы (ярлык Cmd-X): если флажок снят, выбранный файл или папка будут исключены, как ожидалось. Это самый простой способ добавить исключение. Если этот флажок установлен, добавляемое исключение зависит от выбранного вами элемента:
|
Как работает автоподключение? |
Déjà Vu может автоматически подключаться к серверу и монтировать удаленный том до начала резервного копирования. После завершения резервного копирования том будет отключен, если Déjà Vu смонтировал его. Вот как это настроить:
ВАЖНО: Если вы выполняете резервное копирование на сервер Windows, вы должны использовать кнопку «Подключить» на вкладке «Автоподключение», чтобы смонтировать том, прежде чем выбирать исходную и целевую папки (в поле «Что» и столбцы «Где»). Если вы выберете исходную и целевую папки, когда том был смонтирован с помощью Finder, Déjà Vu не сможет найти место назначения при автоматическом подключении к тому во время резервного копирования.] |
Что такое сеть безопасности? |
Сеть безопасности позволяет создавать резервные копии с поддержкой версий. Когда он включен, Déjà Vu создаст папку с именем «#DV_SafetyNet» в корне каждого целевого тома. Во время каждого резервного копирования все файлы, которые были изменены или удалены с момента предыдущего резервного копирования, будут заархивированы в этой папке. Вы можете хранить столько архивов, сколько захотите, что позволит вам вернуться и получить документ в том виде, в каком он существовал, скажем, три дня или три недели назад.Сеть безопасности можно настроить в нижней части вкладки «Общие» в параметрах. Здесь вы указываете максимальный объем доступного дискового пространства, которое может занимать каждая папка сети безопасности (от 5% до 90%). Если и когда данная папка сети безопасности превысит этот предел, Déjà Vu удалит из нее самую старую архивную папку, чтобы освободить место. Вы также можете указать минимальное количество архивных папок, которые должны сохраняться, несмотря ни на что, даже если превышено максимальное допустимое пространство в сети безопасности, определенное выше.] |
Нужно ли мне входить в систему для создания резервных копий? |
По умолчанию съемные тома монтируются только тогда, когда пользователь входит в систему. Вот два возможных обходных пути:
|
Что произойдет, если мой Mac выключится или перейдет в спящий режим в запланированное время резервного копирования? |
Если ваш Mac выключен или находится в спящем режиме в запланированное время резервного копирования, это конкретное резервное копирование будет пропущено. Чтобы справиться с этим, откройте «Системные настройки»> «Энергосбережение» и запланируйте запуск компьютера за минуту или две до начала резервного копирования. (Это также разбудит ваш Mac, если он спит.] |
Несете ли вы ответственность за потерю данных в результате использования Déjà Vu? |
Нет. Вы не потеряете никаких данных, если будете использовать дежавю с умом. Сначала попробуйте его в нескольких тестовых папках и посмотрите, как это работает для вас. Будьте особенно осторожны при использовании параметра «Зеркальная синхронизация». Помните, что в этом случае все файлы в целевой папке резервного копирования, которые не существуют в исходной папке резервного копирования, будут удалены.] |
Дежавю у меня совсем не работает! Что я могу делать? |
|
Почему я получаю сообщение об ошибке «Не удалось найти один из резервных путей»? |
Вот несколько возможных причин:
|
Почему при резервном копировании на сервер возникают ошибки? |
Самая важная вещь, о которой следует помнить при резервном копировании на сервер, — это то, что вы, скорее всего, сможете успешно выполнить резервное копирование только тех элементов, которые принадлежат вам. Вы можете проверить это в Finder, выбрав файл и открыв окно «Получить информацию» (см. «Владение и разрешения»). Это ограничение означает, что у вас должна быть возможность создать резервную копию всей своей домашней папки на сервере, но, вероятно, у вас не будет возможности создать резервную копию гораздо большего количества (например, всего загрузочного диска) при выполнении сетевого резервного копирования. Очевидно, что успешное сетевое резервное копирование частично зависит от конфигурации сервера. Предполагая, что сервер настроен надлежащим образом, важно понимать, что каждый протокол обмена файлами имеет свои ограничения, которые могут вызывать у вас проблемы. Если вы выполняете резервное копирование на другой Mac (через AFP), может существовать ограничение на 31 символ для имен файлов. Если у вас есть имена файлов, которые длиннее этого, вы можете видеть из-за этого ошибки. Еще одна вещь, о которой следует помнить, — это то, что разные файловые системы могут считать определенные символы в именах файлов недопустимыми.] |
|
Дежавю X3 Professional CAT
Дом / Инструменты и технологии / Déjà Vu X3 Professional
Запущенная в феврале 2014 года, Déjà Vu X3 представляет собой новейшую и наиболее продвинутую версию программы.
Déjà Vu X3 отличается повышенным удобством использования и гарантией качества и включает следующие ключевые особенности:
- Мощный анализ для определения лучших котировок
- Интеграция машинного перевода
- Настраиваемый модуль обеспечения качества
- Администрирование базы данных
- Полная совместимость
- Предварительный просмотр одного и нескольких файлов в реальном времени
- Встроенная проверка орфографии
- Разделить и отправить
Разделяйте проекты по своему желанию с помощью полного набора опций D&D.Одним щелчком мыши вы можете обмениваться пакетами переводов, экспортируя для каждого анализа и подмножества TM и TB.
- Предварительный просмотр и исходный контекст
С новым Live Preview Déjà Vu X3 вы можете следить за процессом перевода в файлах Office Word, Excel и PowerPoint в режиме реального времени. Вам даже не нужно устанавливать Office!
Новое и эксклюзивное для дежавю — это предварительный просмотр нескольких файлов.Представьте себе работу над многофайловым проектом с десятками или сотнями файлов в разных папках и подпапках. Live Preview и Source Context гарантируют, что вы сохраните контроль над исходными и целевыми файлами. Для файловых форматов, отличных от Office, в окне предварительного просмотра отображается исходный контекст вашего сегмента. Это чрезвычайно полезно для проектов локализации и форматов, связанных с ИТ, где важная информация о вашем файле отображается непосредственно в Déjà Vu.
- Встроенное форматирование
Применяйте форматирование текста напрямую с помощью ленты или сочетаний клавиш, которые соответствуют таковым в Microsoft Office.Встроенное форматирование также способствует значительному уменьшению количества тегов в таблице перевода.
- Встроенная проверка орфографии
Встроенная программа проверки орфографии
Déjà Vu X3, Hunspell, выявляет орфографические ошибки за вас. Щелкните правой кнопкой мыши подчеркнутое слово и выберите подходящее решение из доступных предложений.В вашем распоряжении 35 различных словарей. Ваш язык не включен? Просто добавьте свои собственные или загрузите доступные словари, чтобы включить их в параметры проверки.
- DeepMiner
Революционный механизм интеллектуального анализа данных и перевода, лежащий в основе Déjà Vu X3 Professional, DeepMiner, извлекает гораздо больше информации из ваших баз данных терминологии и памяти переводов, чем любое другое решение, и использует ее с большей эффективностью.Это потому, что он не просто использует отдельные термины и предложения из ваших баз данных. Он выполняет сложный перекрестный анализ этих баз данных на лету, чтобы «добывать» переводы встроенных в них слов строительных блоков и сегментов фраз. Затем он использует обычные нечеткие совпадения и / или эти «добытые» термины и фразы для исправления нечетких совпадений, формируя улучшенные переводы.
- Автозапись
AutoWrite, интегрированная основная функция интерфейса SmartView в Déjà Vu X3 Professional, представляет собой интерактивную систему интеллектуального перевода, которая использует возможности DeepMiner для повышения производительности даже для текстов с небольшим количеством совпадений сегментов базы данных или без них.AutoWrite работает с вами во время перевода, автоматически предлагая ряд терминов, фраз и предложений, которые взяты из ваших баз данных и интерактивно собраны, чтобы вы могли выбирать одним щелчком мыши при вводе. В отличие от устаревшей технологии, AutoWrite работает напрямую с вашими существующими базами данных, поэтому нет необходимости готовить специальные словари. Просто нажмите и вперед!
- Создать несколько файловых проектов
Déjà Vu X3 Professional может обрабатывать большое количество файлов в каждом проекте (до 2 ГБ), что позволяет выполнять ряд операций с каждым файлом одновременно, от предварительного перевода и поиска и замены до пакетных проверок качества.
- Создавайте проекты нескольких форматов
Déjà Vu X3 Professional использует понятный единый интерфейс для обработки всех множества различных типов файлов, поддерживаемых от Office до FrameMaker, включая HTML, XML, InDesign и многие другие. При необходимости Déjà Vu X3 автоматически экспортирует ваши переводы, сохраняя исходную структуру и форматирование.
- Гарантированные матчи
Вам больше не нужно беспокоиться о множественных совпадениях в памяти переводов. Déjà Vu X3 Professional учитывает контекст каждого сегмента, чтобы выбрать наиболее подходящее соответствие.
- Многоязычные проекты и многоязычные базы данных
Déjà Vu X3 Professional может работать с множеством разных языков одновременно в одном проекте, повторно используя и объединяя информацию из многоязычных баз данных в любой комбинации исходного и целевого языков.
- Лексикон проекта
Создавайте глоссарии на основе проектов, которые вы переводите, или используйте терминологию, предоставленную вам вашими клиентами. Эта уникальная, очень гибкая функция Déjà Vu X3 предлагает широкий спектр возможностей, от временных глоссариев терминов, которые еще нужно проверить, до мощной интеграции через DeepMiner с AutoWrite, Assemble или AutoAssemble.
- Интеллектуальное качество
Déjà Vu X3 Professional предлагает переводчикам и их клиентам все преимущества технологии интеллектуального качества Atril. Технология Assemble обеспечивает интерфейс более полной и более подходящей терминологией и информацией о памяти переводов, чем любой другой продукт на рынке.Разделение / объединение предложений не только обеспечивает неограниченную реструктуризацию предложений и абзацев перевода для наиболее эффективных стилистических решений, но и в сочетании с DeepMiner и Assemble или AutoWrite, позволяя без труда повторно использовать даже сложные решения. Фильтр обеспечивает полную перекрестную проверку терминов и фраз во всех файлах проекта, поэтому переводчики и редакторы могут делать полностью осознанный и взвешенный выбор быстрее и интуитивно понятнее, чем в любой другой CAT-системе. AutoSearch использует всю мощь DeepMiner для отображения не только всех подходящих подходящих предложений, но и похожих фраз и сегментов, обеспечивая непревзойденную креативную и терминологическую поддержку.Завершая картину, внешний вид в формате RTF позволяет выполнять проверку вне экрана и позволяет вам обращаться в службы проверки и редактирования экспертов, которые не используют CAT-программы.
- SmartView
Полностью настраиваемый интерфейс с окнами с вкладками, который делает все в пределах легкой досягаемости и показывает, что вы хотите, с первого взгляда, одновременно уменьшая беспорядок на экране.Обширные оптимизированные мастера упрощают создание проектов и баз данных, а шаблоны проектов позволяют сохранять любую конфигурацию проекта для удобного повторного использования. Просто выберите соответствующий сохраненный шаблон и выберите все файлы своего проекта, чтобы создать новый проект за один раз!
- Гарантия качества
Автоматически проверяйте единообразие терминологии в ваших проектах и убедитесь в правильности использования форматирования, чисел и цифр.
- Совместимость
Совместимость с другими CAT-программами обеспечивается с помощью External View в RTF. Кроме того, Déjà Vu X2 и Déjà Vu X3 полностью совместимы друг с другом, не требуя преобразования проектов и баз данных.
- Мощное пакетное сопровождение качества проекта и базы данных
Команды SQL Select и Execute языка структурированных запросов
обеспечивают быстрое, но сложное управление качеством проекта и обслуживание базы данных.Интерфейс SmartView упрощает создание этих команд и правил обеспечения качества и их сохранение для повторного использования в будущем.
- Проект выравнивания
Многофайловое и многоформатное выравнивание в одном проекте выравнивания упрощает и ускоряет создание базы данных.
havelund / dejavu: система проверки времени выполнения DejaVu, использующая BDD для хранения данных, происходящих в наблюдаемых событиях.
_____ _ __ __
| __ \ (_) \ \ / /
| | | | ___ _ __ \ \ / / _
| | | | / _ \ | / _` \ \ / / | | |
| | __ | | __ / | (_ | | \ / | | _ | |
| _____ / \ ___ | | \ __, _ | \ / \ __, _ |
_ / |
| __ /
LTL прошедшего времени первого порядка с рекурсивными правилами и временем!
Версия 2.1, 4 марта - 2020 г.
Заявление об авторских правах
Авторские права 2020, Калифорнийский технологический институт.ВСЕ ПРАВА ЗАЩИЩЕНЫ. Признана спонсорская поддержка правительства США. Любое коммерческое использование должно быть согласовано с Управлением трансфера технологий Калифорнийского технологического института. Это программное обеспечение может подпадать под действие законов США об экспортном контроле. Принимая это программное обеспечение, пользователь соглашается соблюдать все применимые экспортные законы и правила США. Пользователь имеет ответственность за получение экспортных лицензий или другой экспортный орган, который может потребоваться перед экспортом такой информации в зарубежные страны или предоставлением доступа иностранным лицам.
Обзор
DejaVu — это программа, написанная на Scala для мониторинга потоков событий (трассировок) по формулам временной логики. Формулы записываются в линейной временной логике первого порядка с добавлением макросов и рекурсивных правил. Логика также поддерживает рассуждения о времени.
Примером собственности в самой простой форме является следующее:
prop closeOnlyOpenFiles: forall f. close (f) -> существует m. @ [открыть (f, m), закрыть (f))
Свойство имеет имя closeOnlyOpenFiles
и указывает, что для любого файла f
, если наблюдается событие close (f)
, то существует режим m
(e.g ‘чтение’ или ‘запись’), так что на предыдущем шаге ( @
) когда-то в прошлом наблюдалось событие open (f, m)
, и с тех пор не было события close (f)
наблюдалось.
Реализация использует BDD (двоичные диаграммы решений) для представления сопоставлений количественным переменным (например, f
и m
выше).
Установка DejaVu:
Непосредственно out
содержит файлы и каталоги, полезные для установки и запуска DejaVu:
- ПРОЧИТАТЬ.pdf: этот документ в формате pdf
- dejavu: скрипт для запуска системы
- артефактов / dejavu_jar / dejavu.jar: файл jar дежавю
- статей: каталог, содержащий статьи, опубликованные о DejaVu
- примеров: пример каталога, содержащего свойства и журналы
DejavU реализован на Scala.
Установите язык программирования Scala, если он еще не установлен (https: // www.scala-lang.org/download)
Поместите файлы
dejavu
иdejavu.jar
, упомянутые выше, в некоторый каталог DIR (обозначающий полный путь к этому каталогу).cd в DIR и сделайте скрипт исполняемым:
chmod + x dejavu
Желательно определить псевдоним в вашем профиле оболочки для сценария dejavu, чтобы его можно было вызывать из любого места:
псевдоним dejavu = DIR / dejavu
Запуск DejaVu
Скрипт применяется следующим образом:
dejavu [ [отладка]]
-
-
-
- Флаг отладки
Эти поля будут объяснены более подробно ниже.
Файл документа спецификации (
) Это временная спецификация, которой должна удовлетворять трассировка.См. Объяснение языка спецификации ниже.
Файл журнала (
) должен быть в формате значений, разделенных запятыми (CSV): http://edoceo.com/utilitas/csv-file-format. Например, файл
форма:
лист, стул, 500
ставка, стул, 700
ставка, стул, 650
продам, стул
с без ведущих пробелов будет означать четыре события:
Список (стул, 500)
ставка (стул, 700)
ставка (стул, 650)
продать (стул)
Файл журнала и время
Если файл журнала содержит отметки времени, имя файла журнала ! должен содержать текст .рассчитанный.
. Например: log42.timed.csv
. Отметки времени (натуральные числа) должны быть последним аргументом для всех событий. Например. синхронизированная версия вышеуказанного графика (со значениями времени в
диапазон 1000 … 1099):
лист, стул, 500,1010
ставка, стул, 700,1025
ставка, стул, 650,1067
продам, стул, 1099
Обратите внимание, что это последнее значение времени не упоминается явно в событиях в спецификациях. То есть события со временем в указанном выше формате CSV по-прежнему соответствуют следующему события в формате спецификации:
Список (стул, 500)
ставка (стул, 700)
ставка (стул, 650)
продать (стул)
В случае, если файл журнала не синхронизирован (как описано выше), время всегда считается равным 0. N, поэтому в общем случае не нужны очень большие числа.
Алгоритм / реализация будет выполнять сборку мусора на выделенных BDD, повторное использование BDD, которые больше не нужны для проверки свойства, в зависимости от формы формулы.
Отладка ( отладка
) Флаг отладки может быть предоставлен только в том случае, если
Предоставляется
Результаты DejaVu
Ошибки корректности
Сообщения об ошибках будут выдаваться, если документ спецификации неверно сформирован. Хорошее воспитание нарушение завершает программу и может быть одним из следующих:
- Синтаксическая ошибка : документ не соответствует грамматике.
- Свободная переменная : используемая переменная не была введена как параметр предиката или количественная переменная.
- Скрытие : количественное выражение скрывает имя, введенное на внешнем уровне.
- Неиспользуемая переменная : имя, введенное как параметр или квантор предиката, не используется.
- Несогласованный : предикат вызывается с несогласованным количеством аргументов по сравнению с определением или другими вызовами.
- Дубликаты : повторяющееся определение предиката или имени свойства.
- Неопределенное событие : события были определены, но используется событие, а не среди определенных.
- Дублирование переменной : переменная вводится более одного раза в списке параметров события, макроса или правила.
- Определение незащищенного рекурсивного правила : Правило вызывается в теле определения правила без нахождения под оператором предыдущего времени:
@
.
Предупреждение не завершает программу и может быть одним из:
- Неиспользуемый макрос : макрос предиката определен, но не используется.
- Неиспользуемое событие : событие определено, но не используется.
Нарушения собственности Инструмент укажет нарушение свойства путем печати к какому номеру события относится и к какому событию. Например:
*** Имущество нарушено по событию № 3:
########################################################################## #######
#### ставка (стул, 650)
########################################################################## #######
указывает, что событие номер 3 нарушает свойство incr
, и это событие представляет собой строку в CSV-файле, имеющую формат:
ставка, стул, 650
Статистика трассировки Распечатывается статистика трассировки, которая показывает, сколько событий было обработано в целом и как они были распределены по различным типам событий:
Обработано 1100006 событий
==================
Количество событий:
------------------
выйти: 20001
открытый: 520001
логин: 500000
близко: 40002
доступ: 20002
==================
Здесь также будут выданы предупреждения, если:
- , если в спецификации есть события, которых нет в трассировке, или дважды
- , если в трассировке есть события, которых нет в спецификации
Оба потенциально могут быть признаками некорректной спецификации, но может и не быть таковым.
Недостаточно бит на переменную Если для переменной было выделено недостаточно битов для хранения количества значений, сгенерированных для этой переменной, печатается нарушение утверждения, подобное следующему:
*** java.lang.AssertionError: утверждение не выполнено:
10 бит недостаточно для представления переменной i.
С размерами BDD можно и нужно экспериментировать.
Сроки Система напечатает следующие тайминги:
- время, потраченное на синтаксический анализ спецификации и синтез монитора (программа Scala)
- время, затраченное на составление синтезированного монитора
- время, затраченное на проверку трассировки с помощью скомпилированного монитора
Сгенерированные файлы Система сгенерирует следующие файлы (ни один из которых не требует внимания пользователя, но может быть информативным):
- TraceMonitor.scala: содержащий синтезированный монитор (самодостаточная программа Scala).
- ast.dot: файл, показывающий структуру формулы (используется для генерации кода обновления BDD). Это можно просмотреть с помощью GraphViz (http://www.graphviz.org). Эти два файла помогают проиллюстрировать, как работает алгоритм.
- dejavu-results: содержит количество событий, которые нарушили свойство, если какие-либо нарушения произошли. В основном используется для целей модульного тестирования.
Логика спецификации DejaVu
Грамматика
Грамматика темпоральной логики DejaVu выглядит следующим образом.
:: = ...
:: = | |
:: = 'pred' <событие>, ..., <событие>
<событие> :: = ['(' ',' ... ',' ')']
:: = 'pred' ['(' ',' ... ',' ')'] '='
Определения событий, макросов и свойств
Документ спецификации
состоит из последовательности определений.Определение
может быть определением события, определением макроса или проверяемым свойством.
Определение события вводит те события, на которые будет ссылаться свойство. Если события не определены, то предполагается, что это события, указанные в свойстве. Может помочь уменьшить количество ошибок в свойствах, если заранее объявить события.
Определение предикатного макроса
вводит именованное сокращение для формулы, возможно
параметризованные с помощью имен переменных (введенных с помощью квантификаторов).Например, следующие
определение макроса определяет сокращенное обозначение того, что файл открыт:
pred isOpen (f) =! Close (f) S open (f)
Макросы можно вызывать в свойствах. Макросы могут вызывать другие макросы, но не могут быть рекурсивными. Порядок объявления значения не имеет. Кроме того, они могут быть введены как после, так и до свойств, относящихся к ним.
Определение свойства
вводит именованное свойство, которое является временной формулой первого порядка для прошедшего времени.
Формулы
Различные формулы
имеют следующий интуитивный смысл:
истина, ложь: логические истина и ложь.
id (v1, ..., vn): событие или вызов макроса предиката, где vi может быть константой или переменной
p -> q: p влечет q
p | q: p или q
p & q: p и q
p S q: p, поскольку q (q было истинным в прошлом, и с тех пор, включая этот момент времени, p было истинным)
p S [<= d] q: p с момента q, но где q произошло в течение d единиц времени
p S [> d] q: p с момента q, но где q произошло раньше, чем через d единиц времени
p Z [<= d] q: p с момента q, но где q не произошло в текущий момент
[p, q): обозначение интервалов, эквивалентное:! q S p.Эту форму будет легче читать.
! p: не p
@ p: в предыдущем состоянии p истинно
P p: в каком-то предыдущем состоянии p истинно
P [<= d] p: в некотором предыдущем состоянии в течение d единиц времени p истинно
P [> d] p: в некотором предыдущем состоянии, предшествующем d единиц времени, p истинно
H p: во всех предыдущих состояниях p истинно
H [<= d] p: во всех предыдущих состояниях в течение d единиц времени p истинно
H [> d] p: во всех предыдущих состояниях, предшествующих d единиц времени, p истинно
x op k: x связан с переменной или константой k через op.Например: x <10, x <= y, x = y, x> = 10, x> z
// - количественная оценка по сравнению с предыдущими значениями, см. (*) ниже:
существует x. p (x): существует x такое, что видно (x) и p (x)
для всех x. p (x): для всех x, если видно (x), то p (x)
// - количественная оценка по бесконечной области всех значений:
Существует x. p (x): существует x такое, что p (x)
Forall x. p (x): для всех x p (x)
(*) видно (x) выполняется, если x наблюдался в прошлом
Правила
Новое расширение DejaVu — это понятие правил , которые являются частью определения свойства.В качестве примера рассмотрим следующее свойство о потоках, порождаемых в операционной системе. Мы хотим
убедитесь, что когда поток y
сообщает некоторые данные d
назад к другому потоку x
, затем поток y
был порожден потоком x
либо напрямую, либо транзитивно
через последовательность событий появления. События порождает (x, y)
(поток x
порождает поток y
)
и report (y, x, d)
(поток y
сообщает данные d
вернуться к резьбе x
).Для этого нам нужно вычислить транзитивное закрытие порождающих отношений, здесь выраженное правилом порождение (x, y)
. Это свойство можно указать следующим образом, используя правило порождено (x, y)
(поток x
порожден y
, прямо или косвенно через другие порождения):
пропа нереста:
Forall x. Forall y. Forall d. report (y, x, d) -> порожденный (x, y)
где
порожденный (x, y): =
@ порожденный (x, y)
| спавн (x, y)
| Существует z.(@spawned (x, z) и spawn (z, y))
Свойство заявляет, что если есть событие report (y, x, d)
(поток y
отчетные данные d
обратно в поток x
), то порождено (x, y)
должно удерживаться, определяется следующим образом: либо порождено (x, y),
удерживается в предыдущем состоянии, либо существует порождение (x, y),
в текущем состоянии, либо интересный случай: порождено (x, z)
удерживается в предыдущем состоянии для некоторых z
, а spawn (z, y)
удерживается в текущем состоянии.Этот последний дизъюнктив образует транзитивное замыкание.
Время
Временные характеристики могут быть выражены с использованием натуральных чисел в качестве ограничений. Примеры формул, относящихся к командам, которые
отправлено дис (м)
и последующие су (м)
составляют:
Форалл м. success (m) -> true S [<= 3] dis (m) // следующая команда должна быть отправлена в течение 3 единиц времени
Forall m. success (m) -> true S [> 3] dis (m) // отправка раньше, чем через 3 единицы времени
Forall m.дис (м) ->! (true Z [<= 3] dis (m)) // если команда отправлена, а не отправлена раньше! в пределах 3
Forall m. success (m) -> P [<= 3] dis (m) // успешная команда должна быть отправлена в течение 3 единиц времени
Forall m. success (m) -> P [> 3] dis (m) // отправка раньше, чем через 3 единицы времени
Forall m. success (m) -> H [<= 3]! dis (m) // для следующей команды нет отправки в течение 3 единиц времени до
Forall m. success (m) -> H [> 3]! dis (m) // нет отправки раньше, чем через 3 единицы времени
Другие примеры свойств DejaVu
Аукционы
Мы проиллюстрируем логику на свойствах, которым должен удовлетворять аукцион.Следующие наблюдаемые события происходят во время аукциона:
-
list (i, r)
: товарi
выставлен на аукцион с минимальной резервной продажной ценойr
. -
ставка (i, a)
: ставкаa
доллара на товарi
. -
sell (i)
: продажа предметаi
лицу, предложившему самую высокую цену.
Аукционная система должна удовлетворять четырем параметрам, указанным ниже.
выражается над этими тремя типами событий с помощью макроса предиката inAuction (x)
, чтобы
выразить, когда предмет x
находится на активном аукционе (когда он был выставлен на продажу, но еще не продан):
pred inAuction (x) = существует r.@ [список (x, r), продать (x))
prop incr:
Forall i. Forall a1. Forall a2. @ P bid (i, a1) и bid (i, a2) -> a1 существует a. P bid (i, a) & a> = r
опора открыта:
Forall i. Для всех а. (bid (i, a) | sell (i)) -> inAuction (i)
опора один раз:
Forall i. Forall r. list (i, r) ->! существует s. @ P список (i, s)
Свойство incr
указывает, что ставки должны увеличиваться.
Свойство продать
гласит, что при продаже предмета должны проводиться торги.
на тот товар, который больше или равен резервной цене.
Свойство открыто
гласит, что торги и продажа предмета
разрешено только в том случае, если товар был внесен в список, но еще не продан.
Наконец, свойство , когда
заявляет, что элемент может быть только перечислен
однажды.
Замки в многопоточной системе
Мы наблюдаем следующие события:
-
acq (t, l)
: резьбаt
получает блокировкуl
. -
отн. (Т, л)
: резьбат
освобождает фиксаторл
. -
читать (t, x)
: потокt
читает переменнуюx
. -
write (t, x)
: потокt
записывает переменнуюx
. -
спящий (t)
: потокt
переходит в спящий режим.
Основные свойства
Первый набор свойств заявлен как сочетание трех подсвойств:
- Нить, переходящая в спящий режим, не должна содержать никаких блокировок.
- Максимум один поток может получить блокировку за раз.
- Поток может снять только полученную блокировку.
Оформляется следующим образом:
опорные замкиОсновные:
Форалл т. Forall l.
(
(сон (t) ->! [acq (t, l), rel (t, l))) &
(acq (t, l) ->! существует s. @ [acq (s, l), rel (s, l))) &
(rel (t, l) -> @ [acq (t, l), rel (t, l)))
)
Без тупиков
Замки не должны приобретаться циклически между потоками (проблема обеденного философа). То есть, если поток t1
принимает блокировку l1
, а затем блокировку l2
(без освобождения l1
), то ни в коем случае другой поток t2
не должен принимать блокировки в обратном порядке.Соблюдение этого принципа предотвратит циклические тупиковые ситуации.
Оформляется следующим образом:
замки опорные
Forall t1. Forall t2. Forall l1. Forall l2.
(@ [acq (t1, l1), rel (t1, l1)) & acq (t1, l2))
->
(! @ P (@ [acq (t2, l2), rel (t2, l2)) & acq (t2, l1)))
Нет данных
Если два потока обращаются (на чтение или запись) к одной и той же общей переменной, а один из потоков выполняет запись в переменную, должна существовать блокировка, которую оба потока удерживают всякий раз, когда они обращаются к переменной.
Оформляется следующим образом:
замки стойки
Forall t1. Forall t2. Forall x.
(
(P (чтение (t1, x) | запись (t1, x)))
&
(P написать (t2, x))
)
->
Существует l.
(
H ((чтение (t1, x) | запись (t1, x)) -> [acq (t1, l), rel (t1, l)))
&
H ((чтение (t2, x) | запись (t2, x)) -> [acq (t2, l), rel (t2, l)))
)
Звонок на Землю
Это свойство касается радио на борту космического корабля, которое обменивается данными по разным каналам (количественно выраженным в формуле), каждый из которых может быть включен и выключен с помощью переключателя (x)
— все они изначально выключены.Телеметрия может быть отправлена на землю только по каналу x
, с событием telem (x)
, когда включен радиоканал x
. Свойство не может быть выражено в чистых LTL прошедшего времени, то есть без использования правил.
Имущество оформлено следующим образом:
опора телеметрии1:
Forall x. закрыто (x) ->! telem (x)
где closed (x): = toggle (x) <-> @! closed (x)
То же свойство можно альтернативно выразить с помощью двух правил, более точно отражающих то, как мы будем моделировать это с помощью конечного автомата с двумя состояниями для каждого канала x
: закрыто (x)
и открыто (x)
:
опора телеметрии2:
Forall x.закрыто (x) ->! telem (x)
где
закрыто (x): =
(! @true &! переключить (x))
| (@closed (x) &! переключить (x))
| (@open (x) & toggle (x)),
открыть (x): =
(@open (x) &! toggle (x))
| (@closed (x) и переключить (x))
Правило closed (x)
определяется как дизъюнкция между тремя альтернативами. Первая альтернатива утверждает, что этот предикат истинен, если мы находимся в начальном состоянии (единственное состояние, в котором @true
ложно), и нет события toggle (x)
.Следующая альтернатива утверждает, что closed (x)
было истинным в предыдущем состоянии, и сейчас нет события toggle (x)
. Третья альтернатива утверждает, что в предыдущем состоянии мы находились в состоянии open (x)
и наблюдаем событие toggle (x)
. Аналогично для правила open (x)
.
Эксперименты для публикаций
Эксперименты для журнальной статьи FMSD 2018 « Временной логический мониторинг первого порядка с BDD »: эксперименты
Эксперименты для документа ATVA 2020 « Временная проверка первого порядка с использованием BDD »: эксперименты
Эксперименты для журнала STTT, статья 2020 года « Расширение LTL с правилами и его применение для проверки во время выполнения »:
Ваш комментарий будет первым