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

时间:2014-08-28 22:12:39

标签: c# rightfax

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

 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();

1 个答案:

答案 0 :(得分:5)

有两件事可以解决你的问题...... 首先,在属性OriginalFCSFilename中设置要使用的封面,其次,必须使用ShortFilename值:

fax.OriginalFCSFilename = faxServer.CoverSheets [6] .ShortFileName

对于我们的系统,我们允许用户查看/选择封面"名称",然后我们的s / w将通过...获得所需的短文件名。

fax.OriginalFCSFilename = faxServer.Coversheets(CoversheetName).ShortFilename

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

在RightFax的早期版本中,长文件名(存储在磁盘上的文件名)是必须使用的。这似乎是RF 10.5的变化。这让我在过去的一周里难以理解,在查看了数据库模式/值后,想出了这个问题(如果不是某个地方/以某种方式使用它,为什么他们会这样做。)

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

注意:创建传真后,如果您查询传真,您将看到此字段被清空",并且将使用文件名填充属性FCSFilename(后跟六位数by 301)代表RightFax中的图像文件。