Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ApacheTika服务器:从office文档获取宏?_Python_Apache Tika - Fatal编程技术网

Python ApacheTika服务器:从office文档获取宏?

Python ApacheTika服务器:从office文档获取宏?,python,apache-tika,Python,Apache Tika,我使用Apache Tika作为服务来分析Python中的Office文档,如下所示: url = 'http://{0}:{1}/rmeta/xml' url = url.format(self._host, self._port) res = requests.put(url, data=dat).json() 如果文档包含宏,我想从文档中提取宏的内容,但不知道如何执行。ApacheTika文档不是很好。是否需要使用任何标题或其他内容使Tika server返回宏内容以及文档内容?据我所知

我使用Apache Tika作为服务来分析Python中的Office文档,如下所示:

url = 'http://{0}:{1}/rmeta/xml'
url = url.format(self._host, self._port)
res = requests.put(url, data=dat).json()

如果文档包含宏,我想从文档中提取宏的内容,但不知道如何执行。ApacheTika文档不是很好。是否需要使用任何标题或其他内容使Tika server返回宏内容以及文档内容?

据我所知,问题是Tika默认情况下不会从Office文档中提取宏。为了做到这一点,我必须为Tika创建一个自定义配置文件,为在Tika中实现的两个Microsoft Office解析器启用extractMacros属性(我不知道它们是否使用POI或其他东西)。下面是一个如何执行此操作的示例:

分别询问嵌入内容和元数据?(Apache Tika的Java API允许您一次完成很多事情,但服务器的REST接口通常需要您一次只请求一件事情)@Gagravarr,我认为“rmeta”端点应该递归返回所有元数据,因此如果文档中嵌入了内容,它应该提取、解析并返回元数据。那么我一般应该怎么做呢?首先,我请求“rmeta”获取根文档的元数据,然后如何询问文档中是否嵌入了其他文档?如果存在嵌入数据,我该如何请求解析它?@Gagravarr“rmeta”端点的文档表示它“返回容器文档和所有嵌入文档的JSONified元数据对象列表”。我认为这里的问题是默认情况下Tika没有提取Office文档宏的内容。因此,我应该以某种方式将解析宏的选项传递给OfficeParserConfig,但我不知道该怎么做。