Jacob环境探索(兼容性、管理员、DLL位置、VS环境,COM权限)

2024-06-12 04:44

本文主要是介绍Jacob环境探索(兼容性、管理员、DLL位置、VS环境,COM权限),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


概述:

        最近在生产开发实践出现了很多问题,经过了一系列排查,特做如下总结


探索成果:

1. jacob.dll的建议位置

  • 首先jacob的官网,以及官方GitHub,你可以从这里找到DLL文件,以及相关资料
  • 然后DLL文件建议放置的位置为:C:\Windows\System32;jdk\bin;jdk\jre\bin
  • 或者可以直接使用主动加载的方式:
package com.example.worddemo.test.jacob;import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.LibraryLoader;
import com.jacob.com.Variant;public class RangeText {public static void main(String[] args) {// 加载 JACOB 库System.setProperty(LibraryLoader.JACOB_DLL_PATH, "path/to/jacob-1.20-x64.dll");LibraryLoader.loadJacobLibrary();ActiveXComponent wordApp = null;try {// 创建 Word 应用程序对象wordApp = new ActiveXComponent("Word.Application");// 设置 Word 应用程序不可见wordApp.setProperty("Visible", new Variant(false));// 获取文档集合Dispatch documents = wordApp.getProperty("Documents").toDispatch();// 打开指定路径的文档String filePath = "C:\\path\\to\\your\\document.docx";Dispatch document = Dispatch.call(documents, "Open", filePath).toDispatch();// 关闭文档,不保存更改Dispatch.call(document, "Close", new Variant(false));} catch (Exception e) {e.printStackTrace();} finally {// 退出 Word 应用程序wordApp.invoke("Quit", new Variant[0]);}}
}

2. 以兼容模式运行/管理员身份运行

        个人经过实践,这两种设置方式是没有用的,并不能解决、改善现有的调用错误问题。

        当然网上有成功案例,但是我试了没用

3. COM组件DCOM的权限以及交互模式设置

        个人实践没有用,如果想试的话可以参照下面的例子

  • 例子1
  • 例子2
  • 例子3
  • 例子4
  • 例子5

4.安装VS的C++运行库

        个人经过实践,没有用,根据官网给出的运行条件

安装了2019后依旧没有改善 


解决办法:

在本项目中,遇到的问题,解决办法用到了以下两个文章提到的方案

  • 这个文章中的显式加载,以及for循环改为while循环
  • 这个文章中的触发事件

这篇关于Jacob环境探索(兼容性、管理员、DLL位置、VS环境,COM权限)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1053227

相关文章

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

pip install jupyterlab失败的原因问题及探索

《pipinstalljupyterlab失败的原因问题及探索》在学习Yolo模型时,尝试安装JupyterLab但遇到错误,错误提示缺少Rust和Cargo编译环境,因为pywinpty包需要它... 目录背景问题解决方案总结背景最近在学习Yolo模型,然后其中要下载jupyter(有点LSVmu像一个

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

Java访问修饰符public、private、protected及默认访问权限详解

《Java访问修饰符public、private、protected及默认访问权限详解》:本文主要介绍Java访问修饰符public、private、protected及默认访问权限的相关资料,每... 目录前言1. public 访问修饰符特点:示例:适用场景:2. private 访问修饰符特点:示例:

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

gradle安装和环境配置全过程

《gradle安装和环境配置全过程》本文介绍了如何安装和配置Gradle环境,包括下载Gradle、配置环境变量、测试Gradle以及在IntelliJIDEA中配置Gradle... 目录gradle安装和环境配置1 下载GRADLE2 环境变量配置3 测试gradle4 设置gradle初始化文件5 i