首页 > 解决方案 > 从 Oracle 过程运行 Powershell 命令

问题描述

我需要从我的 android studio 应用程序将 pdf 文档打印到我的网络打印机。我想按所有图像和格式打印 pdf,但是,我找到的解决方案只允许从 pdf 中提取和打印文本。

我还看到了提到 Ghostscript 等工具的解决方案,这些工具应该将 pdf 转换为 postscript 文件,但这些工具不适用于 Android Studio,或者至少我还没有弄清楚如何将它们集成到我的应用程序中。我无法为 jPDFPrint 之类的工具付费,而这些工具正是我所需要的。

我开始考虑一种解决方法,并想到将我的 pdf 作为 blob 发送到我的 oracle 数据库,并从程序调用 power shell 命令以将其打印到特定的打印机。

我已经创建并测试了以下命令以从我的 PC 打印到我的网络打印机,效果很好。

    Start-Process -FilePath “c:\test.pdf” –Verb PrintTo '\\PrintServer\PrinterName' -PassThru | %{sleep 10;$_} | kill

现在我需要有关 oracle 部分的帮助。是否可以从 oracle 12c 中调用或运行 powershell 命令并将 pdf blob 以及打印机名称传递给它?

标签: androidoraclepowershelloracle12c

解决方案


你可以使用 PL/SQL 包DBMS_SCHEDULER过程 create_program,使用 program_type=>'EXECUTABLE' 来做你想做的事。然后,您将让将数据发送到 oracle 的进程创建一个作业来调用该程序。DBMS_SCHEDULER 包非常复杂,因此您可能需要四处寻找教程/提示;您可能想在https://asktom.oracle.com中搜索初学者。


推荐阅读