Com 使用JNA打印MS Word文档
我用这些课程作为开始 如何打印Word中打开的文档 在Com 使用JNA打印MS Word文档,com,jna,Com,Jna,我用这些课程作为开始 如何打印Word中打开的文档 在MSWord.java类中的一个新方法中,我尝试了: this.invokeNoReply("Print", this.getDocuments()); this.invokeNoReply("PrintOut", this.getDocuments()); this.invokeNoReply("FilePrint", this.getDocuments()); 对于上述每个调用,我都会得到一个未知名称(hr=-2147352570)错误
MSWord.java
类中的一个新方法中,我尝试了:
this.invokeNoReply("Print", this.getDocuments());
this.invokeNoReply("PrintOut", this.getDocuments());
this.invokeNoReply("FilePrint", this.getDocuments());
对于上述每个调用,我都会得到一个未知名称
(hr=-2147352570)错误
我已经搜索了一周了,还没有找到解决方案。您需要将方法签名与文档匹配,而不是猜测 您需要实际打印活动文档(
this.getActiveDocument()
),而不是文档集合。然后参考以查看要使用的方法(和参数),在本例中是正确的方法
对于传递的参数,您需要查看中的各种方法签名,并选择最符合您需要的方法签名(您可以传递一个或两个参数,而不仅仅是需要一个数组)
这段代码应该可以工作…还没有测试过(我的Windows VM上没有MSWord),但是结合上面的链接,它应该可以让您走上正确的方向:
this.invokeNoReply("PrintOut", getActiveDocument());
如果不起作用,请尝试:
this.invokeNoReply("PrintOut", getActiveDocument().getIDispatch());
如果您确实需要传递任何参数,您将为它们创建一个
变量
,并开始填充一个或多个参数(或它们的数组)。您需要将方法签名与文档相匹配,而不是猜测
您需要实际打印活动文档(this.getActiveDocument()
),而不是文档集合。然后参考以查看要使用的方法(和参数),在本例中,该方法是正确的
对于传递的参数,您需要查看中的各种方法签名,并选择最符合您需要的方法签名(您可以传递一个或两个参数,而不仅仅是需要一个数组)
这段代码应该可以工作…还没有测试过(我的Windows VM上没有MSWord),但是结合上面的链接,它应该可以让您走上正确的方向:
this.invokeNoReply("PrintOut", getActiveDocument());
如果不起作用,请尝试:
this.invokeNoReply("PrintOut", getActiveDocument().getIDispatch());
如果您确实需要传递任何参数,您将为它们创建一个变量
,并开始填充一个或多个参数(或它们的数组)。谢谢。该页面正是我一直在寻找的。加上this.invokeNoReply(“打印输出”,getActiveDocument()
效果很好。谢谢。这个页面就是我一直在寻找的。再加上这个。调用(“打印输出”,getActiveDocument();
效果很好。