I'm trying to send faxes with a .NET (C#) program using Crystal Reports and Unimessage Pro (or any other fax program).
My problem is that Unimessage Pro (and other fax programs) uses printer fonts for the fax commands. Since .NET doesn't support printer fonts the fax commands in the report are converted to Courier New. The result of this is that the fax program doesn't recognize the fax commands but sees them as plain text and the fax isn't sent.
How do I send a fax with Crystal Reports and .NET?
When you say uses printer fonts, I'm assuming that you need to send some PCL (or similar) commands such as:
If that's the case I don't think you can embed that in that with Crystal directly.
We've had to send special sequences in the past through Crystal (without the Escape), in these cases we create a new Formula box and don't change any of the elements other then the font (choose Courier). These elements should pass right to the printer without being converted too much by the driver. This may; however, not solve your problem.
The other option that should work is to build your own printer driver with Microsoft's Driver Development Kit. You can create your own Mini Driver and associate a font with a specific font call so when you specify that font you get the code inserted into your code properly.
You could also process this in the manner that we do (not with Crystal but another similar reporting too). We use RightFax as our fax server and it allows for the 'attachment' of files through a metadata file. We generate the report, put it into a specific location as a PDF or other format and then pass RightFax an metadata file that contains the fax number of the recipient and a command that tells it to attach the file on the filesystem.
The RightFax 'attach' file looks something like this:
Joyfax Client Console 1.0 (beta)
Note: Please lanuch Joyfax Client v5.2 or above before runnig this application.
JoyfaxConsole [Options] -f [;...][;FileN] -r ""
Options:
Retrun:
Example:
I got this answer from WordCraft (company behind Unimessage Pro)
This solved the problem! :)