YajHFC FAQ


Содержание

Установка

Где взять программу просмотра факсов для Windows?

В большинстве случаев Вы можете использовать любую программу, которая может отображать файлы TIFF, хотя некоторые из них факсы с низким разрешением показывают с неправильной (половинной) высотой.

К счастью, все последние версии Windows поставляются с программой, которая делает это корректно:

Windows 95/98/ME/2000:
Вы можете использовать программу Accessories/Imaging. Чтобы использовать ее с YajHFC, воспользуйтесь кнопкой ``выбрать файл'' поля Командная строка для программы просмотра факсов для поиска kodakimg.exe на Вашем жёстком диске.
Этот файл обычно находится либо в каталоге Windows (Win 98/ME),
либо в Program Files\Windows NT\Accessories\ImageVue (Win 2k).

Windows XP:
Вы можете использовать встроенный ``Picture and Fax Viewer''. Чтобы использовать его, введите следующий текст в поле Командная строка для программы просмотра факсов: rundll32.exe shimgvw.dll,ImageView_Fullscreen %s

Где взять программу просмотра факсов для Linux/*BSD/... ?

kfax у меня работает очень хорошо, однако, так же, как и в Windows, Вы можете использовать любую программу, которая может отображать файлы TIFF, просто поищите в базе пакетов Вашего дистрибутива (однако xloadimage у меня не работает).

Какую программу можно использовать для просмотра факсов на Mac OS X?

Просто введите open %s в поле Командная строка для программы просмотра факсов. Теперь факсы должны открываться в программе по умолчанию. Спасибо Скотту Гаррису, разобравшемуся с этим.

Где взять программу для просмотра документов PostScript?

Windows:
Используйте Ghostview с http://www.cs.wisc.edu/~ghost/
Linux/*BSD/...:
Просто установите один из пакетов Postscript viewer
(например, gv, kghostview, gnome-gv, ...).

Где взять GhostScript?

Windows:
Загрузите его с http://www.cs.wisc.edu/~ghost/
Linux/*BSD/...:
Установите пакет GhostScript для Вашего дистрибутива (в большинстве дистрибутивов этот пакет установлен по умолчанию; если нет: имя пакета обычно начинается с ghostscript или gs).

Где взять TIFF2PDF?

Windows:
Загрузите его с http://gnuwin32.sourceforge.net/downlinks/tiff.php
Если ссылка не работает, попробуйте http://www.libtiff.org/ или http://gnuwin32.sourceforge.net/packages/tiff.htm
Linux/*BSD/...:
Установите пакет libtiff для Вашего дистрибутива. Обычно название этого пакета содержит слово tiff (в Debian/Ubuntu он называется libtiff-tools, в SUSE tiff).

Как сделать, чтобы программа установки для Windows использовала уже загруженные версии tiff2pdf и GhostScript?

Начиная с версии 0.4.2, программа установки для Windows дополнительно загружает и устанавливает tiff2pdf и GhostScript. Перед тем как начать загрузку программа установки ищет уже загруженные версии в следующих местах:

  1. Каталог, в котором находится setup.exe
  2. Рабочий стол пользователя (куда были сохранены файлы, если Вы решили сохранить загруженные файлы)

Имейте в виду, что имена файлов должны точно совпадать с именами загруженных файлов (то есть gs864w32.exe (32-битная) или gs864w64.exe (64-битная) и tiff-3.8.2-1.exe).

Использование программы

Как редактировать титульные листы PostScript?

Шаблоны титульных листов должны быть в специальном формате PostScript, который использует программа HylaFAX faxcover. Как создавать/редактировать такие файлы, смотрите на страницах:
http://www.hylafax.org/HylaFAQ/Q202.html
http://www.hylafax.org/howto/tweaking.html

Кроме того, начиная с YajHFC 0.3.7, Вы можете использовать титульные листы в формате HTML или при помощи плагина в формате XSL:FO, или ODT (OpenDocument Text).

Какие поля распознаются в титульных листах HTML?

При использовании файла HTML в качестве титульного листа следующие ``слова'' (независимо от регистра) заменяются соответствующими значениями:

Слово Значение
@@Name@@ Полное имя получателя
@@Company@@ Компания получателя
@@Location@@ Адрес получателя
@@Faxnumber@@ Номер факса получателя
@@Voicenumber@@ Номер телефона получателя
@@FromName@@ Полное имя отправителя
@@FromCompany@@ Компания отправителя
@@FromLocation@@ Адрес отправителя
@@FromFaxnumber@@ Номер факса отправителя
@@FromVoicenumber@@ Номер телефона отправителя
@@FromEMail@@ E-mail отправителя
@@Subject@@ Тема факса
@@Date@@ Текущая дата
@@PageCount@@ Количество страниц (исключая титульный лист)
@@Comments@@ Комментарии к факсу

Начиная с версии 0.4.0, доступны следующие дополнительные поля (имейте в виду, что при повторной отправке факса курсивные поля будут пустыми):

Слово Значение
@@Surname@@ Фамилия получателя (повторно отправленные факсы: такая же, как @@Name@@)
@@GivenName@@ Имя получателя
@@Title@@ Звание получателя
@@Position@@ Должность получателя
@@Department@@ Отдел получателя
@@CompanyName@@ Название компании получателя (без отдела) (повторно отправленные факсы: такое же, как @@Company@@)
@@Street@@ Название улицы получателя
@@Place@@ Адрес получателя (без улицы или индекса) (повторно отправленные факсы: такой же, как @@Location@@)
@@ZIPCode@@ Почтовый индекс получателя
@@State@@ Штат получателя
@@Country@@ Страна получателя
@@EMail@@ E-mail получателя
@@WebSite@@ Веб-сайт получателя
@@FromSurname@@ Фамилия отправителя
@@FromGivenName@@ Имя отправителя
@@FromTitle@@ Звание отправителя
@@FromPosition@@ Должность отправителя
@@FromDepartment@@ Отдел отправителя
@@FromCompanyName@@ Название компании отправителя (без отдела)
@@FromStreet@@ Название улицы отправителя
@@FromPlace@@ Адрес отправителя (без улицы или индекса)
@@FromZIPCode@@ Почтовый индекс отправителя
@@FromState@@ Штат отправителя
@@FromCountry@@ Страна отправителя
@@FromEMail@@ E-mail отправителя
@@FromWebSite@@ Веб-сайт отправителя
@@TotalPageCount@@ Количество страниц включая титульный лист
@@CCNameAndFax@@ Имена и номера факсов остальных получателей этого факса в формате Имя1 <номерфакса1>; Имя2 <номерфакса2>; ... (только для версий > 0.4.4)

Замена производится на уровне исходного кода, следовательно, слова могут не распознаваться, если форматирование меняется внутри слова (например @@subject@@).

Начиная с версии 0.4.2, поддерживаются простые условные операторы. Они реализованы с помощью комментариев HTML, следовательно, текст, заключённый в условном операторе, не должен содержать никаких комментариев.

Слово Значение
@@IfSomeFilled:поле1,поле2,...@@ Включить следующий текст, только если хотя бы одно из заданных полей заполнено (т.е. имеет значение с длиной > 0).
@@IfAllFilled:поле1,поле2,...@@ Включить следующий текст, только если все заданные поля заполнены (т.е. имеют значения с длиной > 0)).
@@IfSomeEmpty:поле1,поле2,...@@ Включить следующий текст, только если хотя бы одно из заданных полей пустое (т.е. имеет значение с длиной = 0).
@@IfAllEmpty:поле1,поле2,...@@ Включить следующий текст, только если все заданные поля пустые (т.е. имеют значения с длиной = 0).
@@Else@@ Включить следующий текст, только если не было совпадения с последним оператором @@If...@@.
@@EndIf@@ Обозначает завершение зоны влияния последнего оператора if. Для каждого @@If...@@ должен быть строго один соответствующий @@EndIf@@.

Где взять старый титульный лист по умолчанию, который был до версии 0.4.2?

Вы можете найти его в архиве ``Coverpage examples'' на
ftp://ftp.berlios.de/pub/yajhfc/download/coverpages.zip

Старое диалоговое окно отправки мне нравилось больше. Можно его вернуть?

Просто откройте окно Настройки и выберите Традиционный ``Стиль окна отправки''.

Я хочу получить доступ к телефонному справочнику через JDBC, но YajHFC не может найти драйвер, даже если я указываю правильный путь к классу при вызове java

Если Вы используете аргумент командной строки -jar, java игнорирует путь к классу, определённый пользователем. Таким образом, используйте следующие команды для запуска YajHFC (конечно же, заменив /path/to/dbdriver.jar и /path/to/yajhfc.jar реальными путями и именами файлов):

Linux/Unix:
" "
java -classpath /path/to/dbdriver.jar:/path/to/yajhfc.jar yajhfc.Launcher
Windows:
""
java -classpath c:\path\to\dbdriver.jar;c:\path\to\yajhfc.jar yajhfc.Launcher

Что можно вводить в окне настраиваемого фильтра в качестве значений оператора совпадает?

Регулярные выражения. Краткую справку по допустимому синтаксису Вы можете найти здесь: http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html

Имейте в виду, что регулярные выражения - не то же самое, что шаблоны. Например, чтобы получить эффект шаблона *, Вы должны использовать .*, а для получения эффекта шаблона ? вводить .

Какие аргументы командной строки понимает YajHFC?

Использование:
java -jar yajhfc.jar [ПАРАМЕТРЫ]... [ФАЙЛЫ ДЛЯ ОТПРАВКИ]...

Описание параметров:
-r, --recipient=ПОЛУЧАТЕЛЬ           Указывает получателя, которому
                                     отправляется факс. Вы можете указать или
                                     номер факса или подробную информацию для
                                     титульного листа (в последнем случае
                                     смотрите формат в FAQ). Вы можете указать
                                     параметр --recipient несколько раз для
                                     нескольких получателей.
-C, --use-cover[=yes|no]             Использовать титульный лист при отправке
                                     факса.
-s, --subject=ТЕМА                   Тема факса (на титульном листе).
    --comment=ПРИМЕЧАНИЕ             Примечание (на титульном листе).
-M, --modem=МОДЕМ                    Задаёт модем для отправки факса. Укажите
                                     либо имя модема (например ttyS0) либо
                                     "any" чтобы использовать любой модем.
    --stdin                          Читать файл для отправки со стандартного
                                     ввода.
-A, --admin                          Запустить в режиме администрирования.
-d, --debug                          Выводить отладочную информацию.
-l, --logfile=ЛОГФАЙЛ                Файл для записи отладочной информации
                                     (если не указан, используется stdout).
    --appendlogfile=ЛОГФАЙЛ          Добавлять отладочную информацию к данному
                                     лог-файлу.
    --background                     Если нет уже запущенного процесса YajHFC,
                                     запустить новый процесс и завершить работу
                                     (после передачи файла для отправки).
    --noclose                        Не закрывать YajHFC после отправки факса.
    --no-wait                        Не ждать закрытия пользователем окна
                                     отправки. Если YajHFC вызывается несколько
                                     раз, прежде чем пользователь закроет окно
                                     отправки, отправляемые документы
                                     добавляются к списку файлов. Этот параметр
                                     включает в себя --background.
-T, --showtab=0|R|1|S|2|T            Устанавливает вкладку, показываемую после
                                     запуска. Укажите 0 или R для вкладки
                                     "Принятые", 1 или S для "Отправленные", 2
                                     или T для "Передача".
    --windowstate=N|M|I|T            Устанавливает начальное состояние главного
                                     окна в _N_ormal, _M_aximized, _I_conified
                                     (свернуто) или свернуто в _T_ray.
    --loadplugin=JARФАЙЛ             Указывает jar файл плагина YajHFC для
                                     загрузки.
    --loaddriver=JARФАЙЛ             Указывает расположение JAR-файла драйвера
                                     JDBC для загрузки.
    --override-setting=КЛЮЧ=ЗНАЧЕНИЕ Переопределяет значение указанного
                                     параметра для текущего сеанса.
                                     Переопределенный параметр не сохраняется.
    --no-plugins                     Отключает загрузку плагинов из файла
                                     plugin.lst.
    --no-gui                         Отправляет факс с минимальным GUI.
    --no-check                       Подавляет проверку версии Java при
                                     запуске.
-c, --configdir=КАТАЛОГ              Устанавливает каталог конфигурации вместо
                                     ~/.yajhfc
-h, --help[=СТОЛБЦОВ]                Выводит этот текст (форматированный на
                                     СТОЛБЦОВ столбцов, если задано).

Как с помощью ключа -recipient задать информацию титульного листа?

Начиная с версии 0.4.0, Вы можете задать эту информацию, используя пары имя:значение, разделённые точкой с запятой. Например, чтобы отправить факс ``Василию Пупкину'' из ``Энска'' на номер факса 0123456, используйте следующую командную строку:

java -jar yajhfc.jar [...] -recipient="givenname:Василию;surname:Пупкину; location:Энск;faxnumber:0123456" [...]

Распознаются следующие имена полей:

Название поля Значение
surname Фамилия получателя
givenname Имя получателя
title Звание получателя
position Должность получателя
department Отдел получателя
company Название компании получателя
street Название улицы получателя
location Адрес получателя
zipcode Почтовый индекс получателя
state Штат получателя
country Страна получателя
email E-mail получателя
faxnumber Номер факса получателя
voicenumber Номер телефона получателя
website Веб-сайт получателя

Что означает колонка XYZ?

Скорее всего, мне тоже это точно неизвестно, так как заголовки колонок просто скопированы из man страницы faxstat(1) (JobFmt/RcvFmt) и сокращены/переведены.

Как можно установить некоторые настройки по умолчанию?

Начиная с версии 0.4.0, для того, чтобы восстановить сохранённые настройки, загружаются следующие файлы (если они есть):

  1. [Каталог, в котором находится yajhfc.jar]/settings.default
  2. пользовательские настройки из {user.home}[*]/.yajhfc/settings
    (если Вы указали -configdir=DIR, будет использоваться DIR/settings)
  3. [Каталог, в котором находится yajhfc.jar]/settings.override

Настройки из файлов, загруженных позже, отменяют настройки, определённые в файлах, загруженных ранее, т.е. настройки из settings.override имеют преимущественное значение по сравнению с пользовательскими настройками из settings.default.


Этот алгоритм может быть использован для указания настроек по умолчанию (например, в сетевой среде):
Просто настройте одну установку YajHFC так, как Вам нравится, скопируйте файл
{user.home}/.yajhfc/settings в каталог с yajhfc.jar и переименуйте его в settings.default.


Подобным образом можно отменять настройки. В этом случае Вы можете отредактировать файл настроек (это обычный текстовый файл) и удалить любые строки с настройками, которые Вы не хотите отменять (конечно же, Вы захотите удалить по меньшей мере user и pass-obfuscated (имя пользователя и пароль, используемые для соединения с сервером HylaFAX), FromName, *ColState (ширина колонок таблиц), *Bounds (положение различных окон) и mainwinLastTab).

Однако имейте в виду, что пользователь все ещё может установить другие значения этих настроек для выполняемого экземпляра YajHFC. Они сбросятся к отменяющим значениям только тогда, когда YajHFC запустится снова (другими словами, пользователь может установить эти настройки, но они не сохранятся между перезапусками YajHFC).

Как в YajHFC отобразить папку HylaFAX archive?

В версии 0.4.0 введена поддержка папки HylaFAX archive.

Однако к этому каталогу невозможно получить доступ, как к другим папкам, через "`обычное"' соединение HylaFAX, потому что HylaFAX лишь позволяет получить список подкаталогов в каталоге archive, но не даёт никакую информацию (за исключением ID) об архивированных заданиях или документах (если Вы знаете версию HylaFAX, в которой это не так, пожалуйста, сообщите мне).

Поэтому обращение к каталогу должно производиться другими способами. В настоящее время (0.4.0) YajHFC поддерживает доступ только через файловую систему. Это значит, что Вы должны экспортировать каталог archive на сервер, поддерживающий Samba, NFS или любую другую сетевую файловую систему, примонтировать её на клиенте (если Вы используете Unix; в Windows Вы можете просто использовать пути UNC) и указать в настройках YajHFC путь, по которому может быть найден каталог archive.

Как только Вы это сделаете, таблица "`Архив"' должна заработать так же, как другие таблицы.

Что делают разные настройки из раздела Пути и просмотр -> Настройки просмотра и отправки (0.4 и выше)?

Для нетерпеливых: рекомендуемые установки (не сделаны по умолчанию, потому что для них требуются gs и tiff2pdf):

Формат для просмотра/отправки

Формат, в который (при необходимости) должны преобразовываться документы. Обычно здесь PDF и TIFF дают лучшие результаты, чем PostScript (так как последний использует устройство pswrite GhostScript).

Отправлять несколько файлов как

Несколько файлов:
Такое же поведение, как и у версий, предшествующих 0.4.0. Если Вы прикрепите несколько документов к одному заданию отправки, эти документы будут преобразованы в PS или PDF, но останутся отдельными файлами (например, если Вы отправите факс с файлами doc.ps и picture.jpg, будут загружены два отдельных файла).


Один файл, исключая титульный лист:
Создаётся один файл для всего факса, но титульный лист остаётся в отдельном файле (например, если Вы отправите факс с doc.ps и picture.jpg, будет сформирован и загружен единственный файл PDF/PS/TIFF).
Преимущество: Разрешение уменьшается до 196 dpi (-> меньше файлы/трафик) и возможно использование одного и того же файла при отправке факса нескольким получателям.


Весь факс в одном файле:
Создаётся один файл для всего факса, включая титульный лист. Если факс без титульного листа, все происходит так же, как и в предыдущем случае.
Преимущество: Не требуются преобразования на стороне клиента при просмотре отправленного факса.
Недостаток: При отправке факса нескольким получателям должно создаваться и загружаться по одному файлу на каждого получателя.

Просматривать факсы в одном файле

Если этот параметр включён и факс на сервере состоит из нескольких файлов, создаётся один файл (на стороне клиента) для просмотра.

Всегда просматривать/отправлять факсы в этом формате

Этот параметр изменяет проведение ``Отправлять несколько файлов как'' и ``Просматривать факсы в одном файле''.
Если этот параметр отключён, факс подвергается преобразованию, только если он состоит из нескольких файлов. Если он состоит только из одного файла, формат оставляется как есть.
Если этот параметр включён, факс, состоящий из одного файла, также подвергается преобразованию в случае, если формат этого файла отличается от выбранного в ``Формат для просмотра/отправки''.
Преимущество: Используется одна программа просмотра и для отправленных, и для принятых факсов (например, для просмотра принятых факсов в PDF).
Недостаток: Как правило, требуется больше преобразований форматов на стороне клиента.

Какие символы распознаются в качестве формата даты/времени?

Дата форматируется при помощи Java SimpleDateFormat. Описание распознаваемых символов смотрите по ссылке:
http://java.sun.com/j2se/1.5.0/docs/api/java/text/SimpleDateFormat.html

Что делает функция Answer call?

То же что и команда faxanswer HylaFAX: она указывает серверу HylaFAX ответить на входящий звонок на заданном модеме, даже если обычно модем игнорирует входящие звонки. Это может быть полезно для тестирования или для небольших серверов, когда модем использует линию совместно с телефоном.

Проблемы/Известные ошибки

Я создал документ/титульный лист в HTML, но форматирование в YajHFC выглядит неправильно!

YajHFC использует поддержку HTML, встроенную в Java (HTMLEditorKit / HTMLDocument), для преобразования HTML в PostScript. Эта поддержка весьма ограничена, тем более что поддерживается только HTML 3.2.
Это значит, что во многих случаях сложное форматирование в YajHFC не будет рендериться корректно. Чтобы сделать желаемое форматирование, у Вас есть следующие возможности:

При попытке просмотреть отправленные факсы я всегда получаю сообщение об ошибке: File format PCL not supported, хотя все документы PostScript/PDF

Поставьте флажок Исправлять ошибку распознавания PCL файлов в диалоге Настройки и попробуйте снова.

Некоторые версии HylaFAX ошибочно сообщают тип файла ``PCL'' для всех документов, ассоциированных с заданием. При поставленном флажке, если получен тип PCL, YajHFC пытается угадать тип файла (обычно это работает очень хорошо).

Я часто получаю ошибку при отправке двух или более факсов подряд. Что мне делать?

Видимо, у некоторых версий сервера HylaFAX возникают проблемы, когда в одном сеансе отправляется более одного факса.

Чтобы обойти эту проблему, на вкладке Сервер диалога Настройки, поставьте флажок Создавать новый сеанс для каждого действия. Если это не поможет, пожалуйста, пришлите мне извещение об ошибке.

YajHFC под Windows иногда сохраняет свою конфигурацию в C:\.yajhfc вместо C:\Documents and Settings\USERNAME\.yajhfc

По умолчанию YajHFC сохраняет свою конфигурационную информацию в подкаталог .yajhfc каталога, возвращаемого переменной окружения Java user.home. Иногда некоторые версии Java устанавливают эту переменную неправильно, что приводит к неправильному функционированию, описанному выше.

Для устранения проблемы Вы можете явно установить эту переменную при запуске YajHFC с помощью ключа -D командной строки java, например:
java -Duser.home=%USERPROFILE% -jar "C:\Program Files\yajhfc.jar"

Не показывается иконка в трее!

Иконка в трее будет показываться, только если Вы запускаете YajHFC под Java 1.6 (``Java 6''). Если Вы используете Java 1.5 (``Java 5''), иконка в трее не поддерживается.

Пожалуйста убедитесь, что у Вас установлена Java 1.6. Если Вы абсолютно уверены, что у Вас установлена Java 1.6 и иконка в трее всё равно не показывается, пожалуйста, пришлите мне извещение об ошибке.

Прочее

Почему пароли хранятся открытым текстом?

Скажу просто: потому что нет другого метода, который был бы существенно лучше.

YajHFC мог бы как-нибудь кодировать/``шифровать'' пароли перед сохранением, но если это сделать, Вы всегда сможете посмотреть исходный код, чтобы выяснить, как их расшифровать (даже если бы YajHFC был программным обеспечением с закрытым кодом, Вы могли бы дизассемблировать его или немного поэкспериментировать, чтобы обнаружить пароль).

Единственный безопасный метод потребовал бы, чтобы Вы вводили мастер-пароль каждый раз при запуске YajHFC, но, по моему мнению, это было бы не лучше по сравнению с вводом ``настоящего'' пароля.

По многочисленным просьбам в версиях 0.4.0 и выше пароли скрыты при помощи примитивного алгоритма. Однако вышестоящее утверждение все же остаётся в силе, т.е. пароль может быть легко расшифрован, как только Вы прочитаете исходный код.

Почему Вы выбрали такое дурацкое название?

YajHFC начинался как проект для тестирования Java и библиотеки gnu.hylafax и, следовательно, у него не было ``красивого'' названия. Поработав над ним какое-то время, я заметил, что он оказался действительно пригодным для использования; итак, я решил дать ему имя. Так как в это же время я забавлялся с SuSE's yast и знал, что уже есть много других java hylafax клиентов, я просто назвал его ``yet another Java HylaFAX client''.

Об этом документе ...

YajHFC FAQ

This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.71)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -no_subdir -split 0 -html_version 3.2,koi8-r -no_navigation -prefix faq_ru faq_ru.tex

The translation was initiated by Jonas Wolz on 2010-07-31


Примечание

...\{user.home\}[*]
В Windows user.home обычно C:\Documents and Settings\USERNAME.


Jonas Wolz 2010-07-31