尝试以编程方式发送带封面的传真。我在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();
答案 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中的图像文件。