AFax - send RTF to buddy Was: AFax - get fax images

"valery_vi" <[email protected]>
Newsgroups gmane.comp.windows.autoit.user
Message-ID <[email protected]>
Hi,

Next script AFax3.au3 shows simple faxing RTF doc:
;===========================================
; AFax by Valery Ivanov
; Send RTF document to fax#55555
; Important note:
; Minimum operating systems Windows XP, Windows Server 2003

Global $FaxServer, $FaxDocument, $Recipients
Global $MsgTitle = 'AFax by Valery Ivanov'

;===========================================
;Documents
$FaxServer = ObjCreate('FaxComEx.FaxServer')
if Not IsObj($FaxServer) then 
  MsgBox(0,$MsgTitle, 'FaxServer was not created!')
  exit
endif

; Connect to the local fax server. 
$FaxServer.Connect('')
if @Error then 
  MsgBox(0,$MsgTitle, 'FaxServer was not connected!')
  exit
endif
DisplayFaxServerInfo($FaxServer)

;===========================================
;Documents
;Create Document
$FaxDocument = ObjCreate('FaxComEx.FaxDocument')
if Not IsObj($FaxDocument) then 
  MsgBox(0,$MsgTitle, 'FaxDocument was not created!')
  exit
endif
MsgBox(0,$MsgTitle, 'FaxDocument was created!')

$DocumentFilename = @ScriptDir & '\test.rtf'
MsgBox(0,$MsgTitle, '$DocumentFilename : ' & $DocumentFilename)

$FaxDocument.Body = $DocumentFilename
$FaxDocument.Priority = 2

;============================
;Recipients
; There is only one

$Recipients = $FaxDocument.Recipients
if Not IsObj($Recipients) then 
  MsgBox(0,$MsgTitle, 'Recipients was not created!')
  exit
endif

;==============================
; Recipient should have The Canonical Addresses
; see:
; http://msdn2.microsoft.com/en-us/library/ms726017.aspx
$Phone = '7(555)5555555'
$Name = 'Russian Buddy'
$Recipients.Add($Phone,$Name)
$FaxDocument.AttachFaxToReceipt = -1

MsgBox(0,$MsgTitle, 'Recipients count: ' & $Recipients.Count)

$FaxDocument.Subject = 'Hello fax!'

;Set the receipt type to email
$FaxDocument.ReceiptType = 4

$FaxDocument.Subject = "Today's fax"
$JobId = $FaxDocument.Submit('')
MsgBox(0,$MsgTitle, 'Job Id : ' & $JobId[0])
exit

;==============================
;Display Fax Server Info
func DisplayFaxServerInfo($FaxServer)
local $Msg = 'Fax Server Info:' &  @CrLf 
 $Msg &= ' API Version: ' & $FaxServer.APIVersion & @CrLf 
 $Msg &= ' Debug: ' & $FaxServer.Debug & @CrLf 
 $Msg &= ' Build and version: ' & $FaxServer.MajorBuild & '.'  & 
$FaxServer.MajorVersion & '.'  & $FaxServer.MinorVersion & @CrLf 
 $Msg &= ' Server Name: ' & $FaxServer.ServerName & @CrLf 
 MsgBox(0,$MsgTitle, 'FaxDevice' & @CrLf & $Msg)
endfunc

func ToBool($v)
 if $v = -1 then return TRUE
 return FALSE
endfunc

NOTE: You should have file 'test.rtf' in folder @ScriptDir and change 
Fax/Phone #.

I hope that it will not be a base of fax spam.
;-)

Valery

--- In [email protected], "valery_vi" <shehrer1@...> wrote:
>
> Hi,
> 
> Next script AFax2.au3:
> 
> ;Get faxes from the outgoing fax archive and copy theirs into 
script 
> folder
> ; Important note:
> ; Minimum operating systems Windows XP, Windows Server 2003 
> 
> Global $FaxServer, $FaxActivity, $FaxDevices, $FaxDevice
> Global $MsgTitle = 'Fax Sample'
> 
> $FaxServer = ObjCreate('FaxComEx.FaxServer')
> if Not IsObj($FaxServer) then 
>   MsgBox(0,$MsgTitle, 'FaxServer was not created!')
>   exit
> endif
> 
> ; Connect to the local fax server. 
> $FaxServer.Connect('')
> if @Error then 
>   MsgBox(0,$MsgTitle, 'FaxServer was not connected!')
>   exit
> endif
> DisplayFaxServerInfo($FaxServer)
> 
> ;Create the outgoing archive
> $FaxOutArchive = $FaxServer.Folders.OutgoingArchive
> if Not IsObj($FaxOutArchive) then 
>   MsgBox(0,$MsgTitle, 'FaxOutArchive were not created!')
>   exit
> endif
> 
> DisplayOutArchiveInfo($FaxOutArchive)
> 
> ;Get the outgoing message
> 
> $FaxOutgoingMessageIterator = $FaxOutArchive.GetMessages()
> if Not IsObj($FaxOutgoingMessageIterator) then 
>   MsgBox(0,$MsgTitle, 'FaxOutgoingMessageIterator were not 
created!')
>   exit
> endif
> 
> $TiffId = 0
> ;Moving through archive messages
> $FaxOutgoingMessageIterator.MoveFirst()
> While $FaxOutgoingMessageIterator.AtEOF <> -1
>   $OutMsg = $FaxOutgoingMessageIterator.Message
>   if Not IsObj($OutMsg) then 
>   MsgBox(0,$MsgTitle, 'OutgoingMsg were not obtained!')
>   exit
>   endif
>   DisplayOutMsgInfo($OutMsg)
>   ;get and put image of Fax
>   $OutMsg.CopyTiff(@ScriptDir & '\OutFax_' & $TiffId & '.tif')
>   $OutMsg = 0
>   $FaxOutgoingMessageIterator.MoveNext()
>   $TiffId += 1
> wend
> exit
> 
> ;Display Outgoing Msg Info
> func DisplayOutMsgInfo($OutMsg)
> local $Msg = 'Outgoing Msg Info:' &  @CrLf 
>  $Msg &= ' CSID: ' & $OutMsg.CSID & @CrLf 
>  $Msg &= ' TSID: ' & $OutMsg.TSID & @CrLf 
>  $Msg &= ' DeviceName: ' & $OutMsg.DeviceName & @CrLf 
>  $Msg &= ' DocumentName: ' & $OutMsg.DocumentName & @CrLf 
>  $Msg &= ' Id: ' & $OutMsg.Id & @CrLf 
>  $Msg &= ' Pages: ' & $OutMsg.Pages & @CrLf 
>  $Msg &= ' Priority: ' & $OutMsg.Priority & @CrLf 
>  $Msg &= ' Retries: ' & $OutMsg.Retries & @CrLf 
>  $Msg &= ' Size: ' & $OutMsg.Size & @CrLf 
>  $Msg &= ' Subject: ' & $OutMsg.Subject & @CrLf 
>  MsgBox(0,$MsgTitle, 'FaxDevice' & @CrLf & $Msg)
> endfunc
> 
> ;Display Outgoing Archive object Info
> func DisplayOutArchiveInfo($FaxOutArchive)
> local $Msg = 'Outgoing Archive Info:' &  @CrLf 
>  $Msg &= ' AgeLimit: ' & $FaxOutArchive.AgeLimit & @CrLf 
>  $Msg &= ' ArchiveFolder: ' & $FaxOutArchive.ArchiveFolder & @CrLf 
>  $Msg &= ' HighQuotaWaterMark: ' & 
$FaxOutArchive.HighQuotaWaterMark 
> & @CrLf 
>  $Msg &= ' LowQuotaWaterMark: ' & $FaxOutArchive.LowQuotaWaterMark 
& 
> @CrLf 
>  $Msg &= ' Size: ' & Hex($FaxOutArchive.SizeHigh) & ':' & Hex
> ($FaxOutArchive.SizeLow) & @CrLf 
>  $Msg &= ' UseArchive: ' & ToBool($FaxOutArchive.UseArchive) & 
@CrLf 
>  MsgBox(0,$MsgTitle, 'FaxDevice' & @CrLf & $Msg)
> endfunc
> 
> ;Display Fax Server Info
> func DisplayFaxServerInfo($FaxServer)
> local $Msg = 'Fax Server Info:' &  @CrLf 
>  $Msg &= ' API Version: ' & $FaxServer.APIVersion & @CrLf 
>  $Msg &= ' Debug: ' & $FaxServer.Debug & @CrLf 
>  $Msg &= ' Build and version: ' & $FaxServer.MajorBuild & '.'  & 
> $FaxServer.MajorVersion & '.'  & $FaxServer.MinorVersion & @CrLf 
>  $Msg &= ' Server Name: ' & $FaxServer.ServerName & @CrLf 
>  MsgBox(0,$MsgTitle, 'FaxDevice' & @CrLf & $Msg)
> endfunc
> 
> func ToBool($v)
>  if $v = -1 then return TRUE
>  return FALSE
> endfunc
> 
> Thus, you can easy get tiff images (faxes) from outgoingArchive 
> archive.
> 
> Valery
> 
> --- In [email protected], "valery_vi" <shehrer1@> wrote:
> > >
> > > Hi,
> > > 
> > > Early I had problems with fax sending but today my fax device 
is 
> > > working fine (ACorp modem - $20). So I want to automate it's 
hard 
> > job 
> > > by AutoIt.
> > > 
> > > This is first simple AutoFax script which can connect to my 
> > FaxServer 
> > > and show it's options:
> > > 
> > > ; Important note:
> > > ; Minimum operating systems Windows XP, Windows Server 2003 
> > > 
> > > Global $FaxServer, $FaxActivity, $FaxDevices, $FaxDevice
> > > Dim $MsgTitle = 'Fax Sample'
> > > 
> > > $FaxServer = ObjCreate('FaxComEx.FaxServer')
> > > if Not IsObj($FaxServer) then 
> > >   MsgBox(0,$MsgTitle, 'FaxServer was not created!')
> > >   exit
> > > endif
> > > 
> > > ; Connect to the local fax server. 
> > > $FaxServer.Connect('')
> > > if @Error then 
> > >   MsgBox(0,$MsgTitle, 'FaxServer was not connected!')
> > >   exit
> > > endif
> > > MsgBox(0,$MsgTitle, 'FaxServer connected!')
> > > 
> > > $FaxActivity = $FaxServer.Activity
> > > if Not IsObj($FaxActivity) then 
> > >   MsgBox(0,$MsgTitle, 'FaxActivity was not created!')
> > >   exit
> > > endif
> > > MsgBox(0,$MsgTitle, 'FaxActivity created!')
> > > 
> > > ;Refresh the activity object
> > > $FaxActivity.Refresh()
> > > 
> > > ;Retrieves a list of fax devices
> > > $FaxDevices = $FaxServer.GetDevices()
> > > if Not IsObj($FaxDevices) then 
> > >   MsgBox(0,$MsgTitle, 'FaxDevices were not obtained!')
> > >   exit
> > > endif
> > > 
> > > MsgBox(0,$MsgTitle, 'FaxServer has ' & $FaxDevices.Count & ' 
> > > devices..')
> > > 
> > > $FaxDevice = $FaxDevices.Item(0)
> > > if Not IsObj($FaxDevice) then 
> > >   MsgBox(0,$MsgTitle, 'FaxDevice was not obtained!')
> > >   exit
> > > endif
> > > 
> > > $Msg = ''
> > > $Msg &= ' CSID: ' & $FaxDevice.CSID & @CrLf 
> > > $Msg &= ' TSID: ' & $FaxDevice.TSID & @CrLf 
> > > $Msg &= ' Description: ' & $FaxDevice.Description & @CrLf 
> > > $Msg &= ' Name: ' & $FaxDevice.DeviceName & @CrLf 
> > > $Msg &= ' Id: ' & $FaxDevice.Id & @CrLf 
> > > $Msg &= ' PoweredOff: ' & $FaxDevice.PoweredOff & @CrLf 
> > > $Msg &= ' ProviderUniqueName: ' & $FaxDevice.ProviderUniqueName 
& 
> > > @CrLf 
> > > $Msg &= ' ReceiveMode: ' & $FaxDevice.ReceiveMode & @CrLf 
> > > $Msg &= ' SendEnabled: ' & $FaxDevice.SendEnabled & @CrLf 
> > > 
> > > MsgBox(0,$MsgTitle, 'FaxDevice' & @CrLf & $Msg)
> > > 
> > > Enjoy,
> > > Valery
> > > 
> > > PS. Really my goal is to extract TIFF image from Fax device. I 
> > would 
> > > like to use this weird method to convert any text documents 
into 
> > > image form.
> > > :-)
> > >
> >
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.