我们有一个原生的独立Win32应用程序,用于生成.PDF文件。驱动命令行以获取我们的一个数据文件并生成PDF文件。它与计算机上安装的打印驱动程序配合使用。
我知道有一些用于在.NET中生成PDF文件的库我们可以在Azure中使用,但是,我们必须支持在我们的应用程序中执行特定的类型布局,并且该逻辑尚未在服务器端。在我们用C / C ++移植(或重写)我们20岁的类型布局引擎之前,这是一个短期作弊。这里有很多代码,有很多复杂性。
我看到我们现在可以在Azure中运行本机应用程序(yay)。但是,我的问题似乎是这个本机应用程序需要安装打印驱动程序。我无法找到有关在Azure辅助角色中安装打印驱动程序的任何信息。
我发现了这个讨论:https://stackoverflow.com/questions/9125385/printing-to-pdf-from-azure-worker-role。最终结果是在Azure上使用PDF库,这不适用于我们。
此外,我知道每次有人想在我们的网站上预览他们的数据文件时,启动生成PDF文件的进程并不是最好的服务器。当他们想要在浏览器中预览我们的专有数据格式时,我们计划通过向用户显示PDF来作弊。这是一个项目的第一阶段,用C#重写我们20岁的类型布局引擎将需要更长的时间来完成,我们正在谈论这个(承认黑客)作为一个短期(在更大的意义上)测量
如何在Windows Azure辅助角色中安装打印驱动程序?可能吗?还有其他选择吗?
非常感谢。
答案 0 :(得分:2)
如果您可以执行命令行,那么您提到的Amyuni软件的静默安装就可以将其作为工作者角色的启动任务的一部分运行,可能具有提升的权限。人们使用启动任务来做各种各样的事情,其中许多都写了关于它的博客文章或在SO上回答关于它们的问题,但是一个好的起点是official documentation。
答案 1 :(得分:1)
这可能会有所帮助:Amyuni PDF Converter是一个PDF打印机驱动程序,其API作为COM接口和网络公开。允许您以编程方式静默安装和卸载驱动程序的程序集。这可以通过使用您的应用程序中的方法PDFDriverInit和DriverEnd来完成。
应用程序安装驱动程序后,您可以print to PDF using a memory stream as destination and upload it to a Microsoft Azure Blob Storage。
安装Amyuni PDF Converter有两种方法:
1-使用随包提供的安装程序
2-将dll文件复制到相应的文件夹,然后调用方法DriverInit。
这里解释完整的过程: Using the Developer Version of the Amyuni Document Converter
关于您的具体方案,如果您的应用程序使用Amyuni PDF Converter,那么确实应该安装一个打印机驱动程序。您的应用程序可能是每次启动时安装驱动程序,并在关闭时将其删除,或者只能在安装程序期间安装它。
如果您没有此应用程序的源代码但仍拥有Amyuni提供的库的许可证信息,您可以尝试构建一个只负责安装过程的小型应用程序或批处理脚本。您可以联系Amyuni support获取指向您正在使用的版本的最新版本的链接。
您提到您正在使用Windows Azure VM,因此我假设虚拟系统上有you have administrative rights,您可以使用远程桌面连接到它并运行任何类型的应用程序。
通常的免责声明适用