Added: tika/site/publish/1.9/gettingstarted.html URL: http://svn.apache.org/viewvc/tika/site/publish/1.9/gettingstarted.html?rev=1687095&view=auto ============================================================================== --- tika/site/publish/1.9/gettingstarted.html (added) +++ tika/site/publish/1.9/gettingstarted.html Tue Jun 23 16:53:45 2015 @@ -0,0 +1,461 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + + + + + + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache Tika - Getting Started with Apache Tika</title> + <style type="text/css" media="all"> + @import url("../css/site.css"); + </style> + <link rel="icon" type="image/png" href="../tikaNoText16.png" /> + <script type="text/javascript"> + function selectProvider(form) { + provider = form.elements['searchProvider'].value; + if (provider == "any") { + if (Math.random() > 0.5) { + provider = "lucid"; + } else { + provider = "sl"; + } + } + if (provider == "lucid") { + form.action = "http://find.searchhub.org/p:tika"; + } else if (provider == "sl") { + form.action = "http://search-lucene.com/tika"; + } + days = 90; + date = new Date(); + date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); + expires = "; expires=" + date.toGMTString(); + document.cookie = "searchProvider=" + provider + expires + "; path=/"; + } + function initProvider() { + if (document.cookie.length>0) { + cStart=document.cookie.indexOf("searchProvider="); + if (cStart!=-1) { + cStart=cStart + "searchProvider=".length; + cEnd=document.cookie.indexOf(";", cStart); + if (cEnd==-1) { + cEnd=document.cookie.length; + } + provider = unescape(document.cookie.substring(cStart,cEnd)); + document.forms['searchform'].elements['searchProvider'].value = provider; + } + } + document.forms['searchform'].elements['q'].focus(); + } + </script> + </head> + <body onLoad="initProvider();"> + <div id="body"> + <div id="banner"> + <a href="http://tika.apache.org" id="bannerLeft" title="Apache Tika" + ><img src="http://tika.apache.org/tika.png" alt="Apache Tika" + width="292" height="100"/></a> + <a href="http://www.apache.org/" id="bannerRight" + title="The Apache Software Foundation" + ><img src="http://tika.apache.org/asf-logo.gif" alt="The Apache Software Foundation" + width="387" height="100"/></a> + </div> + <div id="content"> + <!-- Licensed to the Apache Software Foundation (ASF) under one or more --><!-- contributor license agreements. See the NOTICE file distributed with --><!-- this work for additional information regarding copyright ownership. --><!-- The ASF licenses this file to You under the Apache License, Version 2.0 --><!-- (the "License"); you may not use this file except in compliance with --><!-- the License. You may obtain a copy of the License at --><!-- --><!-- http://www.apache.org/licenses/LICENSE-2.0 --><!-- --><!-- Unless required by applicable law or agreed to in writing, software --><!-- distributed under the License is distributed on an "AS IS" BASIS, --><!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --><!-- See the License for the specific language governing permissions and --><!-- limitations under the License. --><div class="section"> +<h2>Getting Started with Apache Tika<a name="Getting_Started_with_Apache_Tika"></a></h2> +<p>This document describes how to build Apache Tika from sources and how to start using Tika in an application.</p></div> +<div class="section"> +<h2>Getting and building the sources<a name="Getting_and_building_the_sources"></a></h2> +<p>To build Tika from sources you first need to either <a href="../download.html">download</a> a source release or <a href="../source-repository.html">checkout</a> the latest sources from version control.</p> +<p>Once you have the sources, you can build them using the <a class="externalLink" href="http://maven.apache.org/">Maven 2</a> build system. Executing the following command in the base directory will build the sources and install the resulting artifacts in your local Maven repository.</p> +<div> +<pre>mvn install</pre></div> +<p>See the Maven documentation for more information about the available build options.</p> +<p>Note that you need Java 6 or higher to build Tika.</p></div> +<div class="section"> +<h2>Build artifacts<a name="Build_artifacts"></a></h2> +<p>The Tika build consists of a number of components and produces the following main binaries:</p> +<dl> +<dt>tika-core/target/tika-core-*.jar</dt> +<dd> Tika core library. Contains the core interfaces and classes of Tika, but none of the parser implementations. Depends only on Java 6.</dd> +<dt>tika-parsers/target/tika-parsers-*.jar</dt> +<dd> Tika parsers. Collection of classes that implement the Tika Parser interface based on various external parser libraries.</dd> +<dt>tika-app/target/tika-app-*.jar</dt> +<dd> Tika application. Combines the above components and all the external parser libraries into a single runnable jar with a GUI and a command line interface.</dd> +<dt>tika-server/target/tika-server-*.jar</dt> +<dd> Tika JAX-RS REST application. This is a Jetty web server running Tika REST services as described in <a class="externalLink" href="http://wiki.apache.org/tika/TikaJAXRS">this page</a>.</dd> +<dt>tika-bundle/target/tika-bundle-*.jar</dt> +<dd> Tika bundle. An OSGi bundle that combines tika-parsers with non-OSGified parser libraries to make them easy to deploy in an OSGi environment.</dd></dl></div> +<div class="section"> +<h2>Using Tika as a Maven dependency<a name="Using_Tika_as_a_Maven_dependency"></a></h2> +<p>The core library, tika-core, contains the key interfaces and classes of Tika and can be used by itself if you don't need the full set of parsers from the tika-parsers component. The tika-core dependency looks like this:</p> +<div> +<pre> <dependency> + <groupId>org.apache.tika</groupId> + <artifactId>tika-core</artifactId> + <version>...</version> + </dependency></pre></div> +<p>If you want to use Tika to parse documents (instead of simply detecting document types, etc.), you'll want to depend on tika-parsers instead: </p> +<div> +<pre> <dependency> + <groupId>org.apache.tika</groupId> + <artifactId>tika-parsers</artifactId> + <version>...</version> + </dependency></pre></div> +<p>Note that adding this dependency will introduce a number of transitive dependencies to your project, including one on tika-core. You need to make sure that these dependencies won't conflict with your existing project dependencies. You can use the following command in the tika-parsers directory to get a full listing of all the dependencies.</p> +<div> +<pre>$ mvn dependency:tree | grep :compile</pre></div></div> +<div class="section"> +<h2>Using Tika in an Ant project<a name="Using_Tika_in_an_Ant_project"></a></h2> +<p>Unless you use a dependency manager tool like <a class="externalLink" href="http://ant.apache.org/ivy/">Apache Ivy</a>, the easiest way to use Tika is to include either the tika-core or the tika-app jar in your classpath, depending on whether you want just the core functionality or also all the parser implementations.</p> +<div> +<pre><classpath> + ... <!-- your other classpath entries --> + + <!-- either: --> + <pathelement location="path/to/tika-core-${tika.version}.jar"/> + <!-- or: --> + <pathelement location="path/to/tika-app-${tika.version}.jar"/> + +</classpath></pre></div></div> +<div class="section"> +<h2>Using Tika as a command line utility<a name="Using_Tika_as_a_command_line_utility"></a></h2> +<p>The Tika application jar (tika-app-*.jar) can be used as a command line utility for extracting text content and metadata from all sorts of files. This runnable jar contains all the dependencies it needs, so you don't need to worry about classpath settings to run it.</p> +<p>The usage instructions are shown below.</p> +<div> +<pre>usage: java -jar tika-app.jar [option...] [file|port...] + +Options: + -? or --help Print this usage message + -v or --verbose Print debug level messages + -V or --version Print the Apache Tika version number + + -g or --gui Start the Apache Tika GUI + -s or --server Start the Apache Tika server + -f or --fork Use Fork Mode for out-of-process extraction + + -x or --xml Output XHTML content (default) + -h or --html Output HTML content + -t or --text Output plain text content + -T or --text-main Output plain text content (main content only) + -m or --metadata Output only metadata + -j or --json Output metadata in JSON + -y or --xmp Output metadata in XMP + -l or --language Output only language + -d or --detect Detect document type + -eX or --encoding=X Use output encoding X + -pX or --password=X Use document password X + -z or --extract Extract all attachements into current directory + --extract-dir=<dir> Specify target directory for -z + -r or --pretty-print For XML and XHTML outputs, adds newlines and + whitespace, for better readability + + --create-profile=X + Create NGram profile, where X is a profile name + --list-parsers + List the available document parsers + --list-parser-details + List the available document parsers, and their supported mime types + --list-detectors + List the available document detectors + --list-met-models + List the available metadata models, and their supported keys + --list-supported-types + List all known media types and related information + +Description: + Apache Tika will parse the file(s) specified on the + command line and output the extracted text content + or metadata to standard output. + + Instead of a file name you can also specify the URL + of a document to be parsed. + + If no file name or URL is specified (or the special + name "-" is used), then the standard input stream + is parsed. If no arguments were given and no input + data is available, the GUI is started instead. + +- GUI mode + + Use the "--gui" (or "-g") option to start the + Apache Tika GUI. You can drag and drop files from + a normal file explorer to the GUI window to extract + text content and metadata from the files. + +- Server mode + + Use the "--server" (or "-s") option to start the + Apache Tika server. The server will listen to the + ports you specify as one or more arguments.</pre></div> +<p>You can also use the jar as a component in a Unix pipeline or as an external tool in many scripting languages.</p> +<div> +<pre># Check if an Internet resource contains a specific keyword +curl http://.../document.doc \ + | java -jar tika-app.jar --text \ + | grep -q keyword</pre></div></div> +<div class="section"> +<h2>Wrappers<a name="Wrappers"></a></h2> +<p>Several wrappers are available to use Tika in another programming language, such as <a class="externalLink" href="https://github.com/aviks/Taro.jl">Julia</a> or <a class="externalLink" href="https://github.com/chrismattmann/tika-python">Python</a>.</p></div> + </div> + <div id="sidebar"> + <div id="navigation"> + <h5>Apache Tika</h5> + <ul> + + <li class="none"> + <a href="../index.html">Introduction</a> + </li> + + <li class="none"> + <a href="../download.html">Download</a> + </li> + + <li class="none"> + <a href="../contribute.html">Contribute</a> + </li> + + <li class="none"> + <a href="../mail-lists.html">Mailing Lists</a> + </li> + + <li class="none"> + <a href="http://wiki.apache.org/tika/" class="externalLink">Tika Wiki</a> + </li> + + <li class="none"> + <a href="https://issues.apache.org/jira/browse/TIKA" class="externalLink">Issue Tracker</a> + </li> + </ul> + <h5>Documentation</h5> + <ul> + + + + + + + + + + + <li class="expanded"> + <a href="../1.9/index.html">Apache Tika 1.9</a> + <ul> + + <li class="none"> + <strong>Getting Started</strong> + </li> + + <li class="none"> + <a href="../1.9/formats.html">Supported Formats</a> + </li> + + <li class="none"> + <a href="../1.9/parser.html">Parser API</a> + </li> + + <li class="none"> + <a href="../1.9/parser_guide.html">Parser 5min Quick Start Guide</a> + </li> + + <li class="none"> + <a href="../1.9/detection.html">Content and Language Detection</a> + </li> + + <li class="none"> + <a href="../1.9/examples.html">Usage Examples</a> + </li> + + <li class="none"> + <a href="../1.9/api/">API Documentation</a> + </li> + </ul> + </li> + + + + + + + + + + + <li class="collapsed"> + <a href="../1.8/index.html">Apache Tika 1.8</a> + </li> + + + + + + + + + + + <li class="collapsed"> + <a href="../1.7/index.html">Apache Tika 1.7</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.6/index.html">Apache Tika 1.6</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.5/index.html">Apache Tika 1.5</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.4/index.html">Apache Tika 1.4</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.3/index.html">Apache Tika 1.3</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.2/index.html">Apache Tika 1.2</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.1/index.html">Apache Tika 1.1</a> + </li> + </ul> + <h5>The Apache Software Foundation</h5> + <ul> + + <li class="none"> + <a href="http://www.apache.org/foundation/" class="externalLink">About</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/licenses/" class="externalLink">License</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/security/" class="externalLink">Security</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a> + </li> + </ul> + + <div id="search"> + <h5>Search with Apache Solr</h5> + <form action="http://search.lucidimagination.com/p:tika" + method="get" id="searchform"> + <input type="text" id="query" name="q"/> + <select name="searchProvider" id="searchProvider"> + <option value="any">provider</option> + <option value="lucid">Lucid Find</option> + <option value="sl">Search-Lucene</option> + </select> + <input type="submit" id="submit" value="Search" name="Search" + onclick="selectProvider(this.form)"/> + </form> + </div> + + <div id="bookpromo"> + <h5>Books about Tika</h5> + <p> + <a href="http://manning.com/mattmann/" title="Tika in Action" + ><img src="../mattmann_cover150.jpg" + width="150" height="186"/></a> + </p> + </div> + </div> + </div> + <div id="footer"> + <p> + Copyright © 2015 + <a href="http://www.apache.org/">The Apache Software Foundation</a>. + Site powered by <a href="http://maven.apache.org/">Apache Maven</a>. + Search powered by + <a href="http://www.lucidimagination.com">Lucid Imagination</a> + and <a href="http://sematext.com">Sematext</a>. + <br/> + Apache Tika, Tika, Apache, the Apache feather logo, and the Apache + Tika project logo are trademarks of The Apache Software Foundation. + </p> + </div> + </div> + </body> +</html>
Added: tika/site/publish/1.9/index.html URL: http://svn.apache.org/viewvc/tika/site/publish/1.9/index.html?rev=1687095&view=auto ============================================================================== --- tika/site/publish/1.9/index.html (added) +++ tika/site/publish/1.9/index.html Tue Jun 23 16:53:45 2015 @@ -0,0 +1,371 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + + + + + + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache Tika - Apache Tika 1.7</title> + <style type="text/css" media="all"> + @import url("../css/site.css"); + </style> + <link rel="icon" type="image/png" href="../tikaNoText16.png" /> + <script type="text/javascript"> + function selectProvider(form) { + provider = form.elements['searchProvider'].value; + if (provider == "any") { + if (Math.random() > 0.5) { + provider = "lucid"; + } else { + provider = "sl"; + } + } + if (provider == "lucid") { + form.action = "http://find.searchhub.org/p:tika"; + } else if (provider == "sl") { + form.action = "http://search-lucene.com/tika"; + } + days = 90; + date = new Date(); + date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); + expires = "; expires=" + date.toGMTString(); + document.cookie = "searchProvider=" + provider + expires + "; path=/"; + } + function initProvider() { + if (document.cookie.length>0) { + cStart=document.cookie.indexOf("searchProvider="); + if (cStart!=-1) { + cStart=cStart + "searchProvider=".length; + cEnd=document.cookie.indexOf(";", cStart); + if (cEnd==-1) { + cEnd=document.cookie.length; + } + provider = unescape(document.cookie.substring(cStart,cEnd)); + document.forms['searchform'].elements['searchProvider'].value = provider; + } + } + document.forms['searchform'].elements['q'].focus(); + } + </script> + </head> + <body onLoad="initProvider();"> + <div id="body"> + <div id="banner"> + <a href="http://tika.apache.org" id="bannerLeft" title="Apache Tika" + ><img src="http://tika.apache.org/tika.png" alt="Apache Tika" + width="292" height="100"/></a> + <a href="http://www.apache.org/" id="bannerRight" + title="The Apache Software Foundation" + ><img src="http://tika.apache.org/asf-logo.gif" alt="The Apache Software Foundation" + width="387" height="100"/></a> + </div> + <div id="content"> + <!-- Licensed to the Apache Software Foundation (ASF) under one or more --><!-- contributor license agreements. See the NOTICE file distributed with --><!-- this work for additional information regarding copyright ownership. --><!-- The ASF licenses this file to You under the Apache License, Version 2.0 --><!-- (the "License"); you may not use this file except in compliance with --><!-- the License. You may obtain a copy of the License at --><!-- --><!-- http://www.apache.org/licenses/LICENSE-2.0 --><!-- --><!-- Unless required by applicable law or agreed to in writing, software --><!-- distributed under the License is distributed on an "AS IS" BASIS, --><!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --><!-- See the License for the specific language governing permissions and --><!-- limitations under the License. --><div class="section"> +<h2>Apache Tika 1.9<a name="Apache_Tika_1.9"></a></h2> +<p>The most notable changes in Tika 1.9 over the previous release are:</p> +<ul> +<li>The ability to use the cTAKES clinical text knowledge extraction system for biomedical data is now included as a Tika parser (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-1645">TIKA-1645</a>, <a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-1642">TIKA-1642</a>).</li> +<li>Tika-server allows a user to specify the Tika config from the command line (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-1652">TIKA-1652</a>, <a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-1426">TIKA-1426</a>).</li> +<li>Matlab file detection has been improved (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-1634">TIKA-1634</a>).</li> +<li>The EXIFTool was added as an External parser (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-1639">TIKA-1639</a>).</li> +<li>If FFMPEG is installed and on the PATH, it is a usable Parser in Tika now (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-1510">TIKA-1510</a>).</li> +<li>Fixes have been applied to the ExternalParser to make it functional (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-1638">TIKA-1638</a>).</li> +<li>Tika service loading can now be more verbose with the org.apache.tika.service.error.warn system property (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-1636">TIKA-1636</a>).</li> +<li>Tika Server now allows for metadata extraction from remote URLs and in addition it outputs the detected language as a metadata field (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-1625">TIKA-1625</a>).</li> +<li>OUTPUT_FILE_TOKEN not being replaced in ExternalParser contributed by Pascal Essiembre (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-1620">TIKA-1620</a>).</li> +<li>Tika REST server now supports language identification (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-1622">TIKA-1622</a>).</li> +<li>All of the example code from the Tika in Action book has been donated to Tika and added to tika-examples (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-1562">TIKA-1562</a>).</li> +<li>Tika server now logs errors determining ContentDisposition (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-1621">TIKA-1621</a>).</li> +<li>An algorithm for using Byte Histogram frequencies to construct a Neural Network and to perform MIME detection was added (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-1582">TIKA-1582</a>).</li> +<li>A Bayesian algorithm for MIME detection by probabilistic means was added (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-1517">TIKA-1517</a>).</li> +<li>Tika now incorporates the Apache Spatial Information System capability of parsing Geographic ISO 19139 files (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-443">TIKA-443</a>). It can also detect those files as well.</li> +<li>Update the MimeTypes code to support inheritance (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-1535">TIKA-1535</a>).</li> +<li>Provide ability to parse and identify Global Change Master Directory Interchange Format (GCMD DIF) scientific data files (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-1532">TIKA-1532</a>).</li> +<li>Improvements to detect CBOR files by extension (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-1610">TIKA-1610</a>).</li> +<li>Change xerial.org's sqlite-jdbc jar to "provided" (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-1511">TIKA-1511</a>). Users will now need to add sqlite-jdbc to their classpath for the Sqlite3Parser to work.</li> +<li>ExternalParser.check now catches (suppresses) SecurityException and returns false, so it's OK to run Tika with a security policy that does not allow execution of external processes (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-1628">TIKA-1628</a>).</li></ul> +<p>The following people have contributed to Tika 1.9 by submitting or commenting on the issues resolved in this release:</p> +<ul> +<li>Aakarsh Medleri Hire Math</li> +<li>Anya Yun Li</li> +<li>Arturo Beltran</li> +<li>Chris A. Mattmann</li> +<li>Gautham Gowrishankar</li> +<li>Giuseppe Totaro</li> +<li>Jan Kronquist</li> +<li>Ji-Hyun Oh</li> +<li>Konstantin Gribov</li> +<li>Lewis John McGibbney</li> +<li>Lorenz Leutgeb</li> +<li>Luke sh</li> +<li>Michael McCandless</li> +<li>Nick Burch</li> +<li>Pascal Essiembre</li> +<li>Pavel Micka</li> +<li>Selina Chu</li> +<li>Tim Allison</li> +<li>Tyler Palsulich</li></ul> +<p>See <a class="externalLink" href="http://s.apache.org/4n1">http://s.apache.org/4n1</a> for more details on these contributions.</p></div> + </div> + <div id="sidebar"> + <div id="navigation"> + <h5>Apache Tika</h5> + <ul> + + <li class="none"> + <a href="../index.html">Introduction</a> + </li> + + <li class="none"> + <a href="../download.html">Download</a> + </li> + + <li class="none"> + <a href="../contribute.html">Contribute</a> + </li> + + <li class="none"> + <a href="../mail-lists.html">Mailing Lists</a> + </li> + + <li class="none"> + <a href="http://wiki.apache.org/tika/" class="externalLink">Tika Wiki</a> + </li> + + <li class="none"> + <a href="https://issues.apache.org/jira/browse/TIKA" class="externalLink">Issue Tracker</a> + </li> + </ul> + <h5>Documentation</h5> + <ul> + + + + + + + + + + + <li class="expanded"> + <strong>Apache Tika 1.9</strong> + <ul> + + <li class="none"> + <a href="../1.9/gettingstarted.html">Getting Started</a> + </li> + + <li class="none"> + <a href="../1.9/formats.html">Supported Formats</a> + </li> + + <li class="none"> + <a href="../1.9/parser.html">Parser API</a> + </li> + + <li class="none"> + <a href="../1.9/parser_guide.html">Parser 5min Quick Start Guide</a> + </li> + + <li class="none"> + <a href="../1.9/detection.html">Content and Language Detection</a> + </li> + + <li class="none"> + <a href="../1.9/examples.html">Usage Examples</a> + </li> + + <li class="none"> + <a href="../1.9/api/">API Documentation</a> + </li> + </ul> + </li> + + + + + + + + + + + <li class="collapsed"> + <a href="../1.8/index.html">Apache Tika 1.8</a> + </li> + + + + + + + + + + + <li class="collapsed"> + <a href="../1.7/index.html">Apache Tika 1.7</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.6/index.html">Apache Tika 1.6</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.5/index.html">Apache Tika 1.5</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.4/index.html">Apache Tika 1.4</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.3/index.html">Apache Tika 1.3</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.2/index.html">Apache Tika 1.2</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.1/index.html">Apache Tika 1.1</a> + </li> + </ul> + <h5>The Apache Software Foundation</h5> + <ul> + + <li class="none"> + <a href="http://www.apache.org/foundation/" class="externalLink">About</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/licenses/" class="externalLink">License</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/security/" class="externalLink">Security</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a> + </li> + </ul> + + <div id="search"> + <h5>Search with Apache Solr</h5> + <form action="http://search.lucidimagination.com/p:tika" + method="get" id="searchform"> + <input type="text" id="query" name="q"/> + <select name="searchProvider" id="searchProvider"> + <option value="any">provider</option> + <option value="lucid">Lucid Find</option> + <option value="sl">Search-Lucene</option> + </select> + <input type="submit" id="submit" value="Search" name="Search" + onclick="selectProvider(this.form)"/> + </form> + </div> + + <div id="bookpromo"> + <h5>Books about Tika</h5> + <p> + <a href="http://manning.com/mattmann/" title="Tika in Action" + ><img src="../mattmann_cover150.jpg" + width="150" height="186"/></a> + </p> + </div> + </div> + </div> + <div id="footer"> + <p> + Copyright © 2015 + <a href="http://www.apache.org/">The Apache Software Foundation</a>. + Site powered by <a href="http://maven.apache.org/">Apache Maven</a>. + Search powered by + <a href="http://www.lucidimagination.com">Lucid Imagination</a> + and <a href="http://sematext.com">Sematext</a>. + <br/> + Apache Tika, Tika, Apache, the Apache feather logo, and the Apache + Tika project logo are trademarks of The Apache Software Foundation. + </p> + </div> + </div> + </body> +</html> Added: tika/site/publish/1.9/parser.html URL: http://svn.apache.org/viewvc/tika/site/publish/1.9/parser.html?rev=1687095&view=auto ============================================================================== --- tika/site/publish/1.9/parser.html (added) +++ tika/site/publish/1.9/parser.html Tue Jun 23 16:53:45 2015 @@ -0,0 +1,418 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + + + + + + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache Tika - The Parser interface</title> + <style type="text/css" media="all"> + @import url("../css/site.css"); + </style> + <link rel="icon" type="image/png" href="../tikaNoText16.png" /> + <script type="text/javascript"> + function selectProvider(form) { + provider = form.elements['searchProvider'].value; + if (provider == "any") { + if (Math.random() > 0.5) { + provider = "lucid"; + } else { + provider = "sl"; + } + } + if (provider == "lucid") { + form.action = "http://find.searchhub.org/p:tika"; + } else if (provider == "sl") { + form.action = "http://search-lucene.com/tika"; + } + days = 90; + date = new Date(); + date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); + expires = "; expires=" + date.toGMTString(); + document.cookie = "searchProvider=" + provider + expires + "; path=/"; + } + function initProvider() { + if (document.cookie.length>0) { + cStart=document.cookie.indexOf("searchProvider="); + if (cStart!=-1) { + cStart=cStart + "searchProvider=".length; + cEnd=document.cookie.indexOf(";", cStart); + if (cEnd==-1) { + cEnd=document.cookie.length; + } + provider = unescape(document.cookie.substring(cStart,cEnd)); + document.forms['searchform'].elements['searchProvider'].value = provider; + } + } + document.forms['searchform'].elements['q'].focus(); + } + </script> + </head> + <body onLoad="initProvider();"> + <div id="body"> + <div id="banner"> + <a href="http://tika.apache.org" id="bannerLeft" title="Apache Tika" + ><img src="http://tika.apache.org/tika.png" alt="Apache Tika" + width="292" height="100"/></a> + <a href="http://www.apache.org/" id="bannerRight" + title="The Apache Software Foundation" + ><img src="http://tika.apache.org/asf-logo.gif" alt="The Apache Software Foundation" + width="387" height="100"/></a> + </div> + <div id="content"> + <!-- Licensed to the Apache Software Foundation (ASF) under one or more --><!-- contributor license agreements. See the NOTICE file distributed with --><!-- this work for additional information regarding copyright ownership. --><!-- The ASF licenses this file to You under the Apache License, Version 2.0 --><!-- (the "License"); you may not use this file except in compliance with --><!-- the License. You may obtain a copy of the License at --><!-- --><!-- http://www.apache.org/licenses/LICENSE-2.0 --><!-- --><!-- Unless required by applicable law or agreed to in writing, software --><!-- distributed under the License is distributed on an "AS IS" BASIS, --><!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --><!-- See the License for the specific language governing permissions and --><!-- limitations under the License. --><div class="section"> +<h2>The Parser interface<a name="The_Parser_interface"></a></h2> +<p>The <a href="./api/org/apache/tika/parser/Parser.html">org.apache.tika.parser.Parser</a> interface is the key concept of Apache Tika. It hides the complexity of different file formats and parsing libraries while providing a simple and powerful mechanism for client applications to extract structured text content and metadata from all sorts of documents. All this is achieved with a single method:</p> +<div> +<pre>void parse( + InputStream stream, ContentHandler handler, Metadata metadata, + ParseContext context) throws IOException, SAXException, TikaException;</pre></div> +<p>The <tt>parse</tt> method takes the document to be parsed and related metadata as input and outputs the results as XHTML SAX events and extra metadata. The parse context argument is used to specify context information (like the current local) that is not related to any individual document. The main criteria that lead to this design were:</p> +<dl> +<dt>Streamed parsing</dt> +<dd>The interface should require neither the client application nor the parser implementation to keep the full document content in memory or spooled to disk. This allows even huge documents to be parsed without excessive resource requirements.</dd> +<dt>Structured content</dt> +<dd>A parser implementation should be able to include structural information (headings, links, etc.) in the extracted content. A client application can use this information for example to better judge the relevance of different parts of the parsed document.</dd> +<dt>Input metadata</dt> +<dd>A client application should be able to include metadata like the file name or declared content type with the document to be parsed. The parser implementation can use this information to better guide the parsing process.</dd> +<dt>Output metadata</dt> +<dd>A parser implementation should be able to return document metadata in addition to document content. Many document formats contain metadata like the name of the author that may be useful to client applications.</dd> +<dt>Context sensitivity</dt> +<dd>While the default settings and behaviour of Tika parsers should work well for most use cases, there are still situations where more fine-grained control over the parsing process is desirable. It should be easy to inject such context-specific information to the parsing process without breaking the layers of abstraction.</dd></dl> +<p>These criteria are reflected in the arguments of the <tt>parse</tt> method.</p> +<div class="section"> +<h3>Document input stream<a name="Document_input_stream"></a></h3> +<p>The first argument is an <a class="externalLink" href="http://docs.oracle.com/javase/6/docs/api/java/io/InputStream.html">InputStream</a> for reading the document to be parsed.</p> +<p>If this document stream can not be read, then parsing stops and the thrown <a class="externalLink" href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html">IOException</a> is passed up to the client application. If the stream can be read but not parsed (for example if the document is corrupted), then the parser throws a <a href="./api/org/apache/tika/exception/TikaException.html">TikaException</a>.</p> +<p>The parser implementation will consume this stream but <i>will not close it</i>. Closing the stream is the responsibility of the client application that opened it in the first place. The recommended pattern for using streams with the <tt>parse</tt> method is:</p> +<div> +<pre>InputStream stream = ...; // open the stream +try { + parser.parse(stream, ...); // parse the stream +} finally { + stream.close(); // close the stream +}</pre></div> +<p>Some document formats like the OLE2 Compound Document Format used by Microsoft Office are best parsed as random access files. In such cases the content of the input stream is automatically spooled to a temporary file that gets removed once parsed. A future version of Tika may make it possible to avoid this extra file if the input document is already a file in the local file system. See <a class="externalLink" href="https://issues.apache.org/jira/browse/TIKA-153">TIKA-153</a> for the status of this feature request.</p></div> +<div class="section"> +<h3>XHTML SAX events<a name="XHTML_SAX_events"></a></h3> +<p>The parsed content of the document stream is returned to the client application as a sequence of XHTML SAX events. XHTML is used to express structured content of the document and SAX events enable streamed processing. Note that the XHTML format is used here only to convey structural information, not to render the documents for browsing!</p> +<p>The XHTML SAX events produced by the parser implementation are sent to a <a class="externalLink" href="http://docs.oracle.com/javase/6/docs/api/org/xml/sax/ContentHandler.html">ContentHandler</a> instance given to the <tt>parse</tt> method. If this the content handler fails to process an event, then parsing stops and the thrown <a class="externalLink" href="http://docs.oracle.com/javase/6/docs/api/org/xml/sax/SAXException.html">SAXException</a> is passed up to the client application.</p> +<p>The overall structure of the generated event stream is (with indenting added for clarity):</p> +<div> +<pre><html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title>...</title> + </head> + <body> + ... + </body> +</html></pre></div> +<p>Parser implementations typically use the <a href="./apidocs/org/apache/tika/sax/XHTMLContentHandler.html">XHTMLContentHandler</a> utility class to generate the XHTML output.</p> +<p>Dealing with the raw SAX events can be a bit complex, so Apache Tika comes with a number of utility classes that can be used to process and convert the event stream to other representations.</p> +<p>For example, the <a href="./api/org/apache/tika/sax/BodyContentHandler.html">BodyContentHandler</a> class can be used to extract just the body part of the XHTML output and feed it either as SAX events to another content handler or as characters to an output stream, a writer, or simply a string. The following code snippet parses a document from the standard input stream and outputs the extracted text content to standard output:</p> +<div> +<pre>ContentHandler handler = new BodyContentHandler(System.out); +parser.parse(System.in, handler, ...);</pre></div> +<p>Another useful class is <a href="./api/org/apache/tika/parser/ParsingReader.html">ParsingReader</a> that uses a background thread to parse the document and returns the extracted text content as a character stream:</p> +<div> +<pre>InputStream stream = ...; // the document to be parsed +Reader reader = new ParsingReader(parser, stream, ...); +try { + ...; // read the document text using the reader +} finally { + reader.close(); // the document stream is closed automatically +}</pre></div></div> +<div class="section"> +<h3>Document metadata<a name="Document_metadata"></a></h3> +<p>The third argument to the <tt>parse</tt> method is used to pass document metadata both in and out of the parser. Document metadata is expressed as an <a href="./api/org/apache/tika/metadata/Metadata.html">Metadata</a> object.</p> +<p>The following are some of the more interesting metadata properties:</p> +<dl> +<dt>Metadata.RESOURCE_NAME_KEY</dt> +<dd>The name of the file or resource that contains the document. +<p>A client application can set this property to allow the parser to use file name heuristics to determine the format of the document.</p> +<p>The parser implementation may set this property if the file format contains the canonical name of the file (for example the Gzip format has a slot for the file name).</p></dd> +<dt>Metadata.CONTENT_TYPE</dt> +<dd>The declared content type of the document. +<p>A client application can set this property based on for example a HTTP Content-Type header. The declared content type may help the parser to correctly interpret the document.</p> +<p>The parser implementation sets this property to the content type according to which the document was parsed.</p></dd> +<dt>Metadata.TITLE</dt> +<dd>The title of the document. +<p>The parser implementation sets this property if the document format contains an explicit title field.</p></dd> +<dt>Metadata.AUTHOR</dt> +<dd>The name of the author of the document. +<p>The parser implementation sets this property if the document format contains an explicit author field.</p></dd></dl> +<p>Note that metadata handling is still being discussed by the Tika development team, and it is likely that there will be some (backwards incompatible) changes in metadata handling before Tika 1.0.</p></div> +<div class="section"> +<h3>Parse context<a name="Parse_context"></a></h3> +<p>The final argument to the <tt>parse</tt> method is used to inject context-specific information to the parsing process. This is useful for example when dealing with locale-specific date and number formats in Microsoft Excel spreadsheets. Another important use of the parse context is passing in the delegate parser instance to be used by two-phase parsers like the <a href="./api/org/apache/parser/pkg/PackageParser.html">PackageParser</a> subclasses. Some parser classes allow customization of the parsing process through strategy objects in the parse context.</p></div> +<div class="section"> +<h3>Parser implementations<a name="Parser_implementations"></a></h3> +<p>Apache Tika comes with a number of parser classes for parsing <a href="./formats.html">various document formats</a>. You can also extend Tika with your own parsers, and of course any contributions to Tika are warmly welcome.</p> +<p>The goal of Tika is to reuse existing parser libraries like <a class="externalLink" href="http://pdfbox.apache.org/">PDFBox</a> or <a class="externalLink" href="http://poi.apache.org/">Apache POI</a> as much as possible, and so most of the parser classes in Tika are adapters to such external libraries.</p> +<p>Tika also contains some general purpose parser implementations that are not targeted at any specific document formats. The most notable of these is the <a href="./apidocs/org/apache/tika/parser/AutoDetectParser.html">AutoDetectParser</a> class that encapsulates all Tika functionality into a single parser that can handle any types of documents. This parser will automatically determine the type of the incoming document based on various heuristics and will then parse the document accordingly.</p></div> +<div class="section"> +<h3><a name="More_Examples">More Examples</a></h3> +<p>For more examples of calling Parsing with Apache Tika, please take a look at the <a href="./examples.html">Tika Examples page</a>.</p></div></div> + </div> + <div id="sidebar"> + <div id="navigation"> + <h5>Apache Tika</h5> + <ul> + + <li class="none"> + <a href="../index.html">Introduction</a> + </li> + + <li class="none"> + <a href="../download.html">Download</a> + </li> + + <li class="none"> + <a href="../contribute.html">Contribute</a> + </li> + + <li class="none"> + <a href="../mail-lists.html">Mailing Lists</a> + </li> + + <li class="none"> + <a href="http://wiki.apache.org/tika/" class="externalLink">Tika Wiki</a> + </li> + + <li class="none"> + <a href="https://issues.apache.org/jira/browse/TIKA" class="externalLink">Issue Tracker</a> + </li> + </ul> + <h5>Documentation</h5> + <ul> + + + + + + + + + + + <li class="expanded"> + <a href="../1.9/index.html">Apache Tika 1.9</a> + <ul> + + <li class="none"> + <a href="../1.9/gettingstarted.html">Getting Started</a> + </li> + + <li class="none"> + <a href="../1.9/formats.html">Supported Formats</a> + </li> + + <li class="none"> + <strong>Parser API</strong> + </li> + + <li class="none"> + <a href="../1.9/parser_guide.html">Parser 5min Quick Start Guide</a> + </li> + + <li class="none"> + <a href="../1.9/detection.html">Content and Language Detection</a> + </li> + + <li class="none"> + <a href="../1.9/examples.html">Usage Examples</a> + </li> + + <li class="none"> + <a href="../1.9/api/">API Documentation</a> + </li> + </ul> + </li> + + + + + + + + + + + <li class="collapsed"> + <a href="../1.8/index.html">Apache Tika 1.8</a> + </li> + + + + + + + + + + + <li class="collapsed"> + <a href="../1.7/index.html">Apache Tika 1.7</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.6/index.html">Apache Tika 1.6</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.5/index.html">Apache Tika 1.5</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.4/index.html">Apache Tika 1.4</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.3/index.html">Apache Tika 1.3</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.2/index.html">Apache Tika 1.2</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.1/index.html">Apache Tika 1.1</a> + </li> + </ul> + <h5>The Apache Software Foundation</h5> + <ul> + + <li class="none"> + <a href="http://www.apache.org/foundation/" class="externalLink">About</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/licenses/" class="externalLink">License</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/security/" class="externalLink">Security</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a> + </li> + </ul> + + <div id="search"> + <h5>Search with Apache Solr</h5> + <form action="http://search.lucidimagination.com/p:tika" + method="get" id="searchform"> + <input type="text" id="query" name="q"/> + <select name="searchProvider" id="searchProvider"> + <option value="any">provider</option> + <option value="lucid">Lucid Find</option> + <option value="sl">Search-Lucene</option> + </select> + <input type="submit" id="submit" value="Search" name="Search" + onclick="selectProvider(this.form)"/> + </form> + </div> + + <div id="bookpromo"> + <h5>Books about Tika</h5> + <p> + <a href="http://manning.com/mattmann/" title="Tika in Action" + ><img src="../mattmann_cover150.jpg" + width="150" height="186"/></a> + </p> + </div> + </div> + </div> + <div id="footer"> + <p> + Copyright © 2015 + <a href="http://www.apache.org/">The Apache Software Foundation</a>. + Site powered by <a href="http://maven.apache.org/">Apache Maven</a>. + Search powered by + <a href="http://www.lucidimagination.com">Lucid Imagination</a> + and <a href="http://sematext.com">Sematext</a>. + <br/> + Apache Tika, Tika, Apache, the Apache feather logo, and the Apache + Tika project logo are trademarks of The Apache Software Foundation. + </p> + </div> + </div> + </body> +</html> Added: tika/site/publish/1.9/parser_guide.html URL: http://svn.apache.org/viewvc/tika/site/publish/1.9/parser_guide.html?rev=1687095&view=auto ============================================================================== --- tika/site/publish/1.9/parser_guide.html (added) +++ tika/site/publish/1.9/parser_guide.html Tue Jun 23 16:53:45 2015 @@ -0,0 +1,416 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + + + + + + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache Tika - Get Tika parsing up and running in 5 minutes</title> + <style type="text/css" media="all"> + @import url("../css/site.css"); + </style> + <link rel="icon" type="image/png" href="../tikaNoText16.png" /> + <script type="text/javascript"> + function selectProvider(form) { + provider = form.elements['searchProvider'].value; + if (provider == "any") { + if (Math.random() > 0.5) { + provider = "lucid"; + } else { + provider = "sl"; + } + } + if (provider == "lucid") { + form.action = "http://find.searchhub.org/p:tika"; + } else if (provider == "sl") { + form.action = "http://search-lucene.com/tika"; + } + days = 90; + date = new Date(); + date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); + expires = "; expires=" + date.toGMTString(); + document.cookie = "searchProvider=" + provider + expires + "; path=/"; + } + function initProvider() { + if (document.cookie.length>0) { + cStart=document.cookie.indexOf("searchProvider="); + if (cStart!=-1) { + cStart=cStart + "searchProvider=".length; + cEnd=document.cookie.indexOf(";", cStart); + if (cEnd==-1) { + cEnd=document.cookie.length; + } + provider = unescape(document.cookie.substring(cStart,cEnd)); + document.forms['searchform'].elements['searchProvider'].value = provider; + } + } + document.forms['searchform'].elements['q'].focus(); + } + </script> + </head> + <body onLoad="initProvider();"> + <div id="body"> + <div id="banner"> + <a href="http://tika.apache.org" id="bannerLeft" title="Apache Tika" + ><img src="http://tika.apache.org/tika.png" alt="Apache Tika" + width="292" height="100"/></a> + <a href="http://www.apache.org/" id="bannerRight" + title="The Apache Software Foundation" + ><img src="http://tika.apache.org/asf-logo.gif" alt="The Apache Software Foundation" + width="387" height="100"/></a> + </div> + <div id="content"> + <!-- Licensed to the Apache Software Foundation (ASF) under one or more --><!-- contributor license agreements. See the NOTICE file distributed with --><!-- this work for additional information regarding copyright ownership. --><!-- The ASF licenses this file to You under the Apache License, Version 2.0 --><!-- (the "License"); you may not use this file except in compliance with --><!-- the License. You may obtain a copy of the License at --><!-- --><!-- http://www.apache.org/licenses/LICENSE-2.0 --><!-- --><!-- Unless required by applicable law or agreed to in writing, software --><!-- distributed under the License is distributed on an "AS IS" BASIS, --><!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --><!-- See the License for the specific language governing permissions and --><!-- limitations under the License. --><div class="section"> +<h2>Get Tika parsing up and running in 5 minutes<a name="Get_Tika_parsing_up_and_running_in_5_minutes"></a></h2> +<p>This page is a quick start guide showing how to add a new parser to Apache Tika. Following the simple steps listed below your new parser can be running in only 5 minutes.</p> +<ul> +<li><a href="#Get_Tika_parsing_up_and_running_in_5_minutes">Get Tika parsing up and running in 5 minutes</a> +<ul> +<li><a href="#Getting_Started">Getting Started</a></li> +<li><a href="#Add_your_MIME-Type">Add your MIME-Type</a></li> +<li><a href="#Create_your_Parser_class">Create your Parser class</a></li> +<li><a href="#List_the_new_parser">List the new parser</a></li></ul></li></ul> +<div class="section"> +<h3><a name="Getting_Started">Getting Started</a></h3> +<p>The <a href="./gettingstarted.html">Getting Started</a> document describes how to build Apache Tika from sources and how to start using Tika in an application. Pay close attention and follow the instructions in the "Getting and building the sources" section.</p></div> +<div class="section"> +<h3><a name="Add_your_MIME-Type">Add your MIME-Type</a></h3> +<p>Tika loads the core, standard MIME-Types from the file "org/apache/tika/mime/tika-mimetypes.xml", which comes from <a class="externalLink" href="http://svn.apache.org/repos/asf/tika/trunk/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml">tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml</a> . If your new MIME-Type is a standard one which is missing from Tika, submit a patch for this file!</p> +<p>If your MIME-Type needs adding, create a new file "org/apache/tika/mime/custom-mimetypes.xml" in your codebase. You should add to it something like this:</p> +<div> +<pre> <?xml version="1.0" encoding="UTF-8"?> + <mime-info> + <mime-type type="application/hello"> + <glob pattern="*.hi"/> + </mime-type> + </mime-info></pre></div></div> +<div class="section"> +<h3><a name="Create_your_Parser_class">Create your Parser class</a></h3> +<p>Now, you need to create your new parser. This is a class that must implement the Parser interface offered by Tika. Instead of implementing the Parser interface directly, it is recommended that you extend the abstract class AbstractParser if possible. AbstractParser handles translating between API changes for you.</p> +<p>A very simple Tika Parser looks like this:</p> +<div> +<pre>/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * @Author: Arturo Beltran + */ +package org.apache.tika.parser.hello; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Collections; +import java.util.Set; + +import org.apache.tika.exception.TikaException; +import org.apache.tika.metadata.Metadata; +import org.apache.tika.mime.MediaType; +import org.apache.tika.parser.ParseContext; +import org.apache.tika.parser.AbstractParser; +import org.apache.tika.sax.XHTMLContentHandler; +import org.xml.sax.ContentHandler; +import org.xml.sax.SAXException; + +public class HelloParser extends AbstractParser { + + private static final Set<MediaType> SUPPORTED_TYPES = Collections.singleton(MediaType.application("hello")); + public static final String HELLO_MIME_TYPE = "application/hello"; + + public Set<MediaType> getSupportedTypes(ParseContext context) { + return SUPPORTED_TYPES; + } + + public void parse( + InputStream stream, ContentHandler handler, + Metadata metadata, ParseContext context) + throws IOException, SAXException, TikaException { + + metadata.set(Metadata.CONTENT_TYPE, HELLO_MIME_TYPE); + metadata.set("Hello", "World"); + + XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata); + xhtml.startDocument(); + xhtml.endDocument(); + } +}</pre></div> +<p>Pay special attention to the definition of the SUPPORTED_TYPES static class field in the parser class that defines what MIME-Types it supports. If your MIME-Types aren't standard ones, ensure you listed them in a "custom-mimetypes.xml" file so that Tika knows about them (see above).</p> +<p>Is in the "parse" method where you will do all your work. This is, extract the information of the resource and then set the metadata.</p></div> +<div class="section"> +<h3><a name="List_the_new_parser">List the new parser</a></h3> +<p>Finally, you should explicitly tell the AutoDetectParser to include your new parser. This step is only needed if you want to use the AutoDetectParser functionality. If you figure out the correct parser in a different way, it isn't needed. </p> +<p>List your new parser in: <a class="externalLink" href="http://svn.apache.org/repos/asf/tika/trunk/tika-parsers/src/main/resources/META-INF/services/org.apache.tika.parser.Parser">tika-parsers/src/main/resources/META-INF/services/org.apache.tika.parser.Parser</a></p></div></div> + </div> + <div id="sidebar"> + <div id="navigation"> + <h5>Apache Tika</h5> + <ul> + + <li class="none"> + <a href="../index.html">Introduction</a> + </li> + + <li class="none"> + <a href="../download.html">Download</a> + </li> + + <li class="none"> + <a href="../contribute.html">Contribute</a> + </li> + + <li class="none"> + <a href="../mail-lists.html">Mailing Lists</a> + </li> + + <li class="none"> + <a href="http://wiki.apache.org/tika/" class="externalLink">Tika Wiki</a> + </li> + + <li class="none"> + <a href="https://issues.apache.org/jira/browse/TIKA" class="externalLink">Issue Tracker</a> + </li> + </ul> + <h5>Documentation</h5> + <ul> + + + + + + + + + + + <li class="expanded"> + <a href="../1.9/index.html">Apache Tika 1.9</a> + <ul> + + <li class="none"> + <a href="../1.9/gettingstarted.html">Getting Started</a> + </li> + + <li class="none"> + <a href="../1.9/formats.html">Supported Formats</a> + </li> + + <li class="none"> + <a href="../1.9/parser.html">Parser API</a> + </li> + + <li class="none"> + <strong>Parser 5min Quick Start Guide</strong> + </li> + + <li class="none"> + <a href="../1.9/detection.html">Content and Language Detection</a> + </li> + + <li class="none"> + <a href="../1.9/examples.html">Usage Examples</a> + </li> + + <li class="none"> + <a href="../1.9/api/">API Documentation</a> + </li> + </ul> + </li> + + + + + + + + + + + <li class="collapsed"> + <a href="../1.8/index.html">Apache Tika 1.8</a> + </li> + + + + + + + + + + + <li class="collapsed"> + <a href="../1.7/index.html">Apache Tika 1.7</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.6/index.html">Apache Tika 1.6</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.5/index.html">Apache Tika 1.5</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.4/index.html">Apache Tika 1.4</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.3/index.html">Apache Tika 1.3</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.2/index.html">Apache Tika 1.2</a> + </li> + + + + + + + + + + <li class="collapsed"> + <a href="../1.1/index.html">Apache Tika 1.1</a> + </li> + </ul> + <h5>The Apache Software Foundation</h5> + <ul> + + <li class="none"> + <a href="http://www.apache.org/foundation/" class="externalLink">About</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/licenses/" class="externalLink">License</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/security/" class="externalLink">Security</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a> + </li> + </ul> + + <div id="search"> + <h5>Search with Apache Solr</h5> + <form action="http://search.lucidimagination.com/p:tika" + method="get" id="searchform"> + <input type="text" id="query" name="q"/> + <select name="searchProvider" id="searchProvider"> + <option value="any">provider</option> + <option value="lucid">Lucid Find</option> + <option value="sl">Search-Lucene</option> + </select> + <input type="submit" id="submit" value="Search" name="Search" + onclick="selectProvider(this.form)"/> + </form> + </div> + + <div id="bookpromo"> + <h5>Books about Tika</h5> + <p> + <a href="http://manning.com/mattmann/" title="Tika in Action" + ><img src="../mattmann_cover150.jpg" + width="150" height="186"/></a> + </p> + </div> + </div> + </div> + <div id="footer"> + <p> + Copyright © 2015 + <a href="http://www.apache.org/">The Apache Software Foundation</a>. + Site powered by <a href="http://maven.apache.org/">Apache Maven</a>. + Search powered by + <a href="http://www.lucidimagination.com">Lucid Imagination</a> + and <a href="http://sematext.com">Sematext</a>. + <br/> + Apache Tika, Tika, Apache, the Apache feather logo, and the Apache + Tika project logo are trademarks of The Apache Software Foundation. + </p> + </div> + </div> + </body> +</html> Modified: tika/site/publish/attached-includes/css/shCoreDefault.css.gz URL: http://svn.apache.org/viewvc/tika/site/publish/attached-includes/css/shCoreDefault.css.gz?rev=1687095&r1=1687094&r2=1687095&view=diff ============================================================================== Binary files - no diff available. Modified: tika/site/publish/contribute.html URL: http://svn.apache.org/viewvc/tika/site/publish/contribute.html?rev=1687095&r1=1687094&r2=1687095&view=diff ============================================================================== --- tika/site/publish/contribute.html (original) +++ tika/site/publish/contribute.html Tue Jun 23 16:53:45 2015 @@ -99,7 +99,7 @@ <p>If you're new to reporting problems, you might find the <a class="externalLink" href="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html">How to Report Bugs Effectively</a> essay (amongst many others) useful for learning more about what makes an effective and helpful bug report.</p></div> <div class="section"> <h2>New Parsers, Detectors and Mime Types<a name="New_Parsers_Detectors_and_Mime_Types"></a></h2> -<p>The <a href="./1.8/parser_guide.html">Parser Quick Start Guide</a> provides instructions on adding new mime types and new parsers to Tika.</p> +<p>The <a href="./1.9/parser_guide.html">Parser Quick Start Guide</a> provides instructions on adding new mime types and new parsers to Tika.</p> <p>If your new Parser or Detector depends on libraries which we cannot include in Tika for license reasons, you are encouraged to list it on the <a class="externalLink" href="http://wiki.apache.org/tika/3rd%20party%20parser%20plugins">3rd Party Parser Plugins</a> page on the Tika wiki.</p></div> <div class="section"> <h2>Submitting Enhancements and Fixes<a name="Submitting_Enhancements_and_Fixes"></a></h2> @@ -167,41 +167,54 @@ <li class="expanded"> - <a href="1.8/index.html">Apache Tika 1.8</a> + <a href="1.9/index.html">Apache Tika 1.9</a> <ul> <li class="none"> - <a href="1.8/gettingstarted.html">Getting Started</a> + <a href="1.9/gettingstarted.html">Getting Started</a> </li> <li class="none"> - <a href="1.8/formats.html">Supported Formats</a> + <a href="1.9/formats.html">Supported Formats</a> </li> <li class="none"> - <a href="1.8/parser.html">Parser API</a> + <a href="1.9/parser.html">Parser API</a> </li> <li class="none"> - <a href="1.8/parser_guide.html">Parser 5min Quick Start Guide</a> + <a href="1.9/parser_guide.html">Parser 5min Quick Start Guide</a> </li> <li class="none"> - <a href="1.8/detection.html">Content and Language Detection</a> + <a href="1.9/detection.html">Content and Language Detection</a> </li> <li class="none"> - <a href="1.8/examples.html">Usage Examples</a> + <a href="1.9/examples.html">Usage Examples</a> </li> <li class="none"> - <a href="1.8/api/">API Documentation</a> + <a href="1.9/api/">API Documentation</a> </li> </ul> </li> + + + + + + + + <li class="collapsed"> + <a href="1.8/index.html">Apache Tika 1.8</a> + </li> + + + Modified: tika/site/publish/distribution-management.html URL: http://svn.apache.org/viewvc/tika/site/publish/distribution-management.html?rev=1687095&r1=1687094&r2=1687095&view=diff ============================================================================== --- tika/site/publish/distribution-management.html (original) +++ tika/site/publish/distribution-management.html Tue Jun 23 16:53:45 2015 @@ -134,41 +134,54 @@ <li class="expanded"> - <a href="1.8/index.html">Apache Tika 1.8</a> + <a href="1.9/index.html">Apache Tika 1.9</a> <ul> <li class="none"> - <a href="1.8/gettingstarted.html">Getting Started</a> + <a href="1.9/gettingstarted.html">Getting Started</a> </li> <li class="none"> - <a href="1.8/formats.html">Supported Formats</a> + <a href="1.9/formats.html">Supported Formats</a> </li> <li class="none"> - <a href="1.8/parser.html">Parser API</a> + <a href="1.9/parser.html">Parser API</a> </li> <li class="none"> - <a href="1.8/parser_guide.html">Parser 5min Quick Start Guide</a> + <a href="1.9/parser_guide.html">Parser 5min Quick Start Guide</a> </li> <li class="none"> - <a href="1.8/detection.html">Content and Language Detection</a> + <a href="1.9/detection.html">Content and Language Detection</a> </li> <li class="none"> - <a href="1.8/examples.html">Usage Examples</a> + <a href="1.9/examples.html">Usage Examples</a> </li> <li class="none"> - <a href="1.8/api/">API Documentation</a> + <a href="1.9/api/">API Documentation</a> </li> </ul> </li> + + + + + + + + <li class="collapsed"> + <a href="1.8/index.html">Apache Tika 1.8</a> + </li> + + +
