如何在RightFax API中指定集合中的封面?

问题描述:

尝试以编程方式发送带封面的传真。我在RightFax(v10.0)中制作了一个自定义封面,但代码似乎没有选择它,即使我设置了FCSFileName,它仍然使用管理实用程序中选定的封面作为默认。如何在RightFax API中指定集合中的封面?

FaxServer faxServer = new FaxServer(); 
     faxServer.ServerName = "XXX-XX1"; 
     faxServer.Protocol = CommunicationProtocolType.cpNamedPipes; 
     faxServer.UseNTAuthentication = BoolType.True; 

     Fax fax = (Fax)faxServer.get_CreateObject(CreateObjectType.coFax); 

     fax.ToName = "xxxx"; 
     fax.ToFaxNumber = "xxxxxxxxxx"; 
     fax.ToCompany = "XXX, Inc"; 
     fax.FromName = "xxxxx"; 

     fax.HasCoversheet = BoolType.True; 
     fax.FCSFilename = faxServer.CoverSheets[6].LongFileName; //only example of setting the cover sheet i could find online so far 

     fax.Attachments.Add(@"c:\Some Invoice.pdf", BoolType.False); 
     fax.Send(); 

两件事情能够解决您的问题.... 首先,你设置你想要的属性使用该覆盖,OriginalFCSFilename,和第二,你必须使用ShortFilename值:

传真。 OriginalFCSFilename = faxServer.CoverSheets [6] .ShortFileName

对于我们的系统,我们允许用户查看/选择该覆盖“姓名”,而我们的S/W,然后将通过获得所需的短文件名...

fax.OriginalFCSFile name = faxServer.Coversheets(CoversheetName).ShortFilename

ShortFilename是一个类似于“^ 0000008.doc”的值,其中7位是与数据库中的封面(唯一)“句柄”值相对应的十六进制值。

在elflier版本的RightFax中,长文件名(这是存储在磁盘上的文件名)是什么必须使用。这似乎是RF 10.5的变化。这在过去的一周中困扰着我,并且在查看数据库模式/值之后,找出了这一点(为什么其他人会在没有/某种地方使用它的时候有这个问题)。

如果将HasCoversheet设置为True,并为OriginalFCSFilename输入任何无效的短文件名(或无),则RightFax将使用用户的默认封面。

注意:传真创建后,如果查询传真,您将看到该字段已被“空白”,而属性FCSFilename将使用文件名(hexnumber后跟301)填充,代表RightFax内的图像文件。

+0

谢谢,但我使用的是version10.0仍然 – 2015-03-03 13:53:41

+0

然后,您仍然需要使用封面的文件名(例如“FCS.doc”)填充OriginalFCSFilename。 FCSFilename将由RightFax填充后创建封面,并将是一个十六进制数字后跟.301 – 2015-03-04 14:41:30