【发布时间】:2019-10-17 00:54:45
【问题描述】:
我需要将 pdf 文档从我的 android studio 应用程序打印到我的网络打印机。我想按原样打印所有图像和格式的 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 以及打印机名称传递给它?
【问题讨论】:
-
他的数据库在什么操作系统上? Poweshell 暗示您希望它在 Windows 上运行。
-
@TenG 抱歉没有指定。我有一个windows环境。确切地说是 Windows Server 2016。
-
澄清一下,您需要将 BLOB 本身传递给 Oracle,还是将路径传递给 PDF?
-
@TenG 我设想将 blob 和打印机名称从我的 android 应用程序传递到我的 oracle 程序,然后在程序中运行脚本进行打印。理想情况下,我不想在数据库服务器的数据库或文件系统中存储任何内容。
-
在尝试提供帮助之前,请先说明清楚。 android 应用程序将使用打印机名称将 blob 保存到 Oracle 数据库。然后,一项工作将把这个 blob 提取到一个 PDF 文件,并在 Win 2016 的 Oracle 数据库服务器上发出一个 powershell 命令。对吗?
标签: android oracle powershell oracle12c