Пример модуля с функцией отправки факсов, используя приложение от 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;
}
// 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;
}
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать