gpt4 book ai didi

c# - 如何使用 FAXCOMEXLib 从 Windows 服务发送 pdf 传真?

转载 作者:可可西里 更新时间:2023-11-01 03:11:00 51 4
gpt4 key购买 nike

我以前看过这个问题,但是我没有看到任何明确的答案,而且绝对没有任何答案可以解决我的问题。我创建了一个 Windows 服务来使用 FAXCOMEXLib 库发送传真(半自动)。到目前为止,我的服务已成功发送文本文件 (.txt)。但是当我尝试发送 pdf、jpg 或 tif 文件时,我收到“操作失败”错误。在 SO 中,我已经看到很多关于服务运行的用户权限的讨论。我尝试了很多不同的选项(本地服务、本地用户、具有管理员权限的自定义用户、允许服务与桌面交互)。但似乎没有什么不同。该服务似乎没有权限打开相应的应用程序来“打印”pdf、jpg 或 tif 文件。但我只是猜测。有没有人在 Windows 服务中通过 FAXCOMEXLib 成功发送传真?这是我发送传真的代码:

fileName = @"D:\temp\FaxTest.txt"; //THIS WORKS
//fileName = @"D:\temp\FaxTest.pdf"; //Operation failed
//fileName = @"D:\temp\FaxTest.tif"; //Operation failed
faxDoc.Sender.Name = faxRec.From;
faxDoc.Sender.Company = faxRec.From;
faxDoc.Body = fileName;
faxDoc.Subject = faxRec.ReferenceId;
faxDoc.DocumentName = faxRec.ReferenceId;
var to = "xxxxxxxxxx";
faxDoc.Recipients.Add(to, "Some Name");
var serverName = Environment.MachineName;
string[] returnVal = faxDoc.Submit(serverName);

如果您想知道,是的,这些文件确实以这些名称存在于服务器上,并且它们是有效文件(我可以在 Adob​​e Reader 和图片查看器中打开它们)。如果我在我的开发机器上本地运行它,这也能正常工作。当然,适当的查看器会在发送前弹出(在我的本地机器上)。我的猜测是由于某种原因该服务无法打开查看器。有没有人在 Windows 服务中以这种方式成功发送 PDF?

最佳答案

它在 the MSDN article 中有很好的记录.需要发生的重要事情是,一些 软件需要将文件内容转换为可以传真的可打印文本。引用:

Examples of documents that you can send as a fax body are a text file (.txt), a Microsoft Word document (.doc), or a Microsoft Excel spreadsheet (.xls). When you send a fax from a client computer, the body has to be associated with an application that is installed on that computer, and the application has to support the PrintTo verb; otherwise, the fax will fail.

因此,您可以做的一个简单测试是在资源管理器中右键单击该文件并查找“打印”命令。接下来将文件拖到打印机以使用 PrintTo 动词。如果这些测试失败,那么它将无法正常工作,您需要安装一个知道如何打印文件的应用程序。

通过服务执行此操作会对执行打印的应用程序提出额外要求。其中有很多在服务中表现得不是特别好。特别是当您尝试打印时,Microsoft 强烈建议永远不要在服务中这样做。例如,Office 应用最近没有更新,这使得 MSDN 的建议已经很弱了。

在我的机器上,.tif 扩展名与 UWP 应用相关联,该应用也不会在服务中运行。鉴于处理这些流行扩展程序的大量应用程序很难提供好的建议,最好去 superuser.com 并命名特定的扩展程序、Windows 版本和你喜欢使用的应用程序。从用户 session 执行此操作肯定是最不麻烦的。

关于c# - 如何使用 FAXCOMEXLib 从 Windows 服务发送 pdf 传真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46506932/

51 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com