Пример модуля с функцией отправки факсов, используя приложение от Symantec - WinFax.
Обратите внимание, что версия WinFax должна быть не ниже 10.0.4 если Вы планируете его устанавливать на XP SP2 и выше. Также рекомендую использовать только лицензионный софт.

В самом простом варианте:
SendFax('258', 'c:\\test.doc'), где '258' - номер телефона, 'c:\\test.doc' имя файла Word, который Вы хотите отправить.
В данном случае на локальной машине должен быть установлен Word (хотя возможно можно отправлять файлы и другого формата - проверьте!).

Удачи!

//-----------------------------------------------------------------------------
// scr_WinFaxUtils
// Uses: scr_FileUtils
//-----------------------------------------------------------------------------

var ErrorSendFaxText = "Ошибка отправки факса. ";
var SDKSend;

function CheckError(Result) {
        if (Result == 1) {
                Log.Write(2, ErrorSendFaxText + " Код ошибки: " + SDKSend.GetLastError())             
        }
}

function SendFax(Number, FileName, To, Company, Subject) {
        if (IsEmptyStr(Number)) {
                Log.Write(2, ErrorSendFaxText + "Номер не указан.");
                return false;
        }
        if (IsEmptyStr(FileName)) {
                Log.Write(2, ErrorSendFaxText + "Имя файла не указано.");
                return false;
        }
    if (!CheckFileExists(FileName)) {
                Log.Write(2, ErrorSendFaxText + "Файл '" + FileName + "' не найден.");    
        return false;
        }      
       
        SDKSend = new ActiveXObject('WinFax.SDKSend');
        // Set some properties to avoid WinFax to Show on the Screen.
        CheckError(SDKSend.EnableBillingCodeKeywords(0));
        CheckError(SDKSend.SetUseCreditCard(0));
        CheckError(SDKSend.ShowSendScreen(0));
        CheckError(SDKSend.SetQuickCover(0));
        CheckError(SDKSend.SetPreviewFax(0));
        // Not use cover       
        CheckError(SDKSend.SetUseCover(0));
        // Make sure WinFax shows it monitor window while sending the Fax.
        CheckError(SDKSend.ShowCallProgess(0));
        // Leave the Controller Running after procesing this fax.
        CheckError(SDKSend.LeaveRunning());
        // Check that the WinFax Printer is ready.
        if (SDKSend.IsReadyToPrint() != 1) {
                Log.Write(2, ErrorSendFaxText + "WinFax не готов к отправке.");
                return;
        }
        // Setup the Recipient information here.
        CheckError(SDKSend.SetTo(To));
        CheckError(SDKSend.SetSubject(Subject));
        CheckError(SDKSend.SetNumber(Number));
        CheckError(SDKSend.SetAreaCode(''));
        CheckError(SDKSend.SetCompany(Company));
        // Finish the WinFax Setup Commands.
        CheckError(SDKSend.AddRecipient());
        CheckError(SDKSend.AddAttachmentFile(FileName));
        CheckError(CheckError(SDKSend.Send(1)));
        SDKSend.Done();
        SDKSend = null;
    return true;
}

Нравится

Поделиться

0 комментариев
Показать все комментарии