我正在使用Apache Tika对各种文档(ODS,MS office,pdf)进行简单处理.我必须至少得到:
word count, author, title, timestamps, language etc.
Run Code Online (Sandbox Code Playgroud)
这不容易.我的策略是使用模板方法模式用于6种类型的文档,其中我首先找到文档的类型,并基于它单独处理它.
我知道apache tika应该不需要这个,但文档格式是完全不同的吗?
例如
InputStream input = this.getClass().getClassLoader().getResourceAsStream(doc);
ContentHandler textHandler = new BodyContentHandler();
Metadata metadata = new Metadata();
Parser parser = new OfficeParser();
parser.parse(input, textHandler, metadata, new ParseContext());
input.close();
for(String s : metadata.names()) {
System.out.println("Metadata name : " + s);
}
Run Code Online (Sandbox Code Playgroud)
我尝试为ODS,MS office,pdf文档执行此操作,并且元数据有很大不同.MSOffice接口列出了MS文档的元数据键和一些Dublic Core元数据列表.但是如何实现这样的应用呢?
可以取悦任何有经验的人分享他的经验吗?谢谢
如何禁用列表中的翻转,选择和聚焦颜色?我尝试将它们设置为"{null}",但这只会使它们变黑:
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
width="100%" height="100%"
backgroundColor="white"
>
<fx:Declarations>
<s:ArrayCollection id="myArray">
<fx:String>Item 0</fx:String>
<fx:String>Item 1</fx:String>
<fx:String>Item 2</fx:String>
<fx:String>Item 3</fx:String>
<fx:String>Item 4</fx:String>
</s:ArrayCollection>
</fx:Declarations>
<s:VGroup horizontalAlign="center">
<s:List dataProvider="{myArray}" width="200" height="200"
focusColor="{null}" selectionColor="{null}"
rollOverColor="{null}"
>
<s:itemRenderer>
<fx:Component>
<s:ItemRenderer>
<s:states>
<s:State name="normal" />
<s:State name="hovered" />
<s:State name="selected" />
</s:states>
<s:Label text="{data}" width="100%" left="5" top="7" bottom="5" />
</s:ItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:List>
</s:VGroup>
</s:Application>
Run Code Online (Sandbox Code Playgroud) 在我的文件系统中搜索文件时,我的程序抛出了空指针异常,因为File.list()无法访问我的文件系统上的"Documents And Settings"并尝试解析String [] myArray = File.list() myArray为null抛出了异常.
如何检查文件或文件夹是否无法使用文件访问并保持不发生?
是否可以在WinForms中以特定角度旋转按钮或任何控件?如果是这样,怎么样?
此方法搜索搜索关键字并解析mysql查询,并重写where表达式以包含LIKE%keyword%.
它运作良好,但我不知道它的好或坏做法是否有这么多循环的方法...
private function build_where($query_array, $options)
{
//add WHERE starting point
$where = '';
if(!empty($query_array['WHERE']))
{
//build where array
$where_array = $query_array['WHERE'];
//start the where
$where .= 'WHERE ';
//get columns array
$columns_array = $this->build_columns_array($query_array);
//if there is a search string
if(!empty($options['sSearch']))
{
//check for enabled columns
$i = 0;
$columns_length = count($columns_array);
for($i; $i < intval($columns_length); $i++)
{
//create the options boolean array
$searchable_columns['bSearchable_'.$i] = $options['bSearchable_'.$i];
}
//loop through searchable_columns for true values
foreach($searchable_columns as $searchable_column_key => $searchable_column_val)
{ …Run Code Online (Sandbox Code Playgroud) 我的网站上有一个视频播放器,一旦暂停,我想阻止其他视频下载.我使用MediaElement.js为html5视频与闪回后备.令人讨厌的是我无法阻止视频下载,因为它浪费了带宽并且"进度"事件继续触发并更新UI.
我想知道如何在控制台窗口内启动emacs,而不是在单独的GUI中启动.我在Windows中使用emacs 23.2.
我的服务器上有一个名为:
some image.png
Run Code Online (Sandbox Code Playgroud)
名字里有一个空格。当我在浏览器(chrome)中输入 url 时,它会将空格转换为 %20:
some%20.png
Run Code Online (Sandbox Code Playgroud)
当我从应用程序中使用 URLEncoder.encode("some image.png") 时,我得到:
some+image.png
Run Code Online (Sandbox Code Playgroud)
这会导致 404。正确的编码方式是什么?
看起来苹果已经弃用了我的应用正在使用的API.不知道如何解决这个问题.具体用法如下: