|
|
Line 1: |
Line 1: |
− | <!-- Pod2Wiki=_preamble_
| |
− | This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost.
| |
− | -->{{API}}{{Pod2Wiki}}{{API:Source|file=perl_lib/EPrints/Plugin/Convert.pm|package_name=EPrints::Plugin::Convert}}[[Category:API|CONVERT]][[Category:API:EPrints/Plugin|CONVERT]][[Category:API:EPrints/Plugin/Convert|CONVERT]]<div><!-- Edit below this comment -->
| |
| | | |
− |
| |
− | <!-- Pod2Wiki=_private_ --><!-- Pod2Wiki=head_name -->
| |
− | ==NAME==
| |
− | EPrints::Plugin::Convert - Convert EPrints::DataObj::Document into different formats
| |
− |
| |
− | <!-- Edit below this comment -->
| |
− |
| |
− |
| |
− | <!-- Pod2Wiki= -->
| |
− | <!-- Pod2Wiki=head_description -->
| |
− | ==DESCRIPTION==
| |
− | This plugin and its dependents allow EPrints to convert documents from one format into another format. Convert plugins are also used by the full-text indexer to extract plain-text from documents.
| |
− |
| |
− | Convert plugins may provide conversions from any number of formats to any number of other formats (or not even 'formats' per-se e.g. unpacking/packing archives). A single plugin may represent a particular software package (e.g. ImageMagick) or a common goal (e.g. textifying documents for indexing).
| |
− |
| |
− | Using the root Convert plugin it is possible to query all loaded conversion plugins for available conversions from a given [[API:EPrints/DataObj/Document|EPrints::DataObj::Document]].
| |
− |
| |
− | To allow for simpler local configuration Convert plugins should use SystemSettings to store the location of external programs.
| |
− |
| |
− | <!-- Edit below this comment -->
| |
− |
| |
− |
| |
− | <!-- Pod2Wiki= -->
| |
− | <!-- Pod2Wiki=head_synopsis -->
| |
− | ==SYNOPSIS==
| |
− | <pre> my $root = $session->plugin( 'Convert' );</pre>
| |
− |
| |
− | <pre> my %available = $root->can_convert( $document );</pre>
| |
− |
| |
− | <pre> # Convert a document to plain-text
| |
− | my $txt_tool = $available{'text/plain'};
| |
− | my $plugin = $txt_tool->{ plugin };
| |
− | $plugin->convert( $eprint, $document, 'text/plain' );</pre>
| |
− |
| |
− | <!-- Edit below this comment -->
| |
− |
| |
− |
| |
− | <!-- Pod2Wiki= -->
| |
− | <!-- Pod2Wiki=head_methods -->
| |
− | ==METHODS==
| |
− | <!-- Pod2Wiki=item_new -->
| |
− | ===new===
| |
− |
| |
− | <source lang="perl">new OPTIONS
| |
− |
| |
− | </source>
| |
− | :Create a new plugin object using OPTIONS (should only be called by [[API:EPrints/Session|EPrints::Session]]).
| |
− | :
| |
− | <!-- Edit below this comment -->
| |
− |
| |
− |
| |
− | <!-- Pod2Wiki= -->
| |
− | <!-- Pod2Wiki=item_render_name -->
| |
− | ===render_name===
| |
− |
| |
− | <source lang="perl">$xhtml = $plugin->render_name
| |
− |
| |
− | </source>
| |
− | :Return the name of this plugin as a chunk of XHTML.
| |
− | :
| |
− | <!-- Edit below this comment -->
| |
− |
| |
− |
| |
− | <!-- Pod2Wiki= -->
| |
− | <!-- Pod2Wiki=item_is_visible -->
| |
− | ===is_visible===
| |
− |
| |
− | <source lang="perl">$plugin->is_visible( $level )
| |
− |
| |
− | </source>
| |
− | :Returns whether this plugin is visible at level (currently 'all' or '').
| |
− | :
| |
− | <!-- Edit below this comment -->
| |
− |
| |
− |
| |
− | <!-- Pod2Wiki= -->
| |
− | <!-- Pod2Wiki=item_can_convert -->
| |
− | ===can_convert===
| |
− |
| |
− | <source lang="perl">%types = $p->can_convert( $doc, [$type], [%params] )
| |
− |
| |
− | </source>
| |
− | :Returns a hash of types that this plugin can convert the document $doc to. The key is the type. The value is a hash ref containing:
| |
− | :
| |
− | * plugin
| |
− |
| |
− | ::The object that can do the conversion.
| |
− | ::
| |
− | <!-- Edit below this comment -->
| |
− |
| |
− |
| |
− | <!-- Pod2Wiki= -->
| |
− | * encoding
| |
− |
| |
− | ::The encoding this conversion generates (e.g. 'utf-8').
| |
− | ::
| |
− | <!-- Edit below this comment -->
| |
− |
| |
− |
| |
− | <!-- Pod2Wiki= -->
| |
− | * phraseid
| |
− |
| |
− | ::A unique phrase id for this conversion.
| |
− | ::
| |
− | <!-- Edit below this comment -->
| |
− |
| |
− |
| |
− | <!-- Pod2Wiki= -->
| |
− | * preference
| |
− |
| |
− | ::A value between 0 and 1 representing the 'quality' or confidence in this conversion.
| |
− | ::
| |
− | <!-- Edit below this comment -->
| |
− |
| |
− |
| |
− | <!-- Pod2Wiki= -->
| |
− | <!-- Pod2Wiki=item_export -->
| |
− | ===export===
| |
− |
| |
− | <source lang="perl">@filelist = $p->export( $dir, $doc, $type )
| |
− |
| |
− | </source>
| |
− | :Convert $doc to $type and export it to $dir. Returns a list of file names that resulted from the conversion. The main file (if there is one) is the first file name returned. Returns empty list on failure.
| |
− | :
| |
− | <!-- Edit below this comment -->
| |
− |
| |
− |
| |
− | <!-- Pod2Wiki= -->
| |
− | <!-- Pod2Wiki=item_convert -->
| |
− | ===convert===
| |
− |
| |
− | <source lang="perl">$doc = $p->convert( $eprint, $doc, $type [, $epdata ] )
| |
− |
| |
− | </source>
| |
− | :Convert $doc to format $type (as returned by can_convert). Stores the resulting $doc in $eprint, and returns the new document or undef on failure.
| |
− | :
| |
− | :Optionally initialise the new document with $epdata. Specifying 'files' in $epdata will cause the converted file content to be discarded.
| |
− | :
| |
− | <!-- Edit below this comment -->
| |
− |
| |
− |
| |
− | <!-- Pod2Wiki= -->
| |
− | <!-- Pod2Wiki=head_copyright -->
| |
− | ==COPYRIGHT==
| |
− | Copyright 2000-2011 University of Southampton.
| |
− |
| |
− | This file is part of EPrints http://www.eprints.org/.
| |
− |
| |
− | EPrints is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
| |
− |
| |
− | EPrints is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
| |
− |
| |
− | You should have received a copy of the GNU Lesser General Public License along with EPrints. If not, see http://www.gnu.org/licenses/.
| |
− |
| |
− | <!-- Edit below this comment -->
| |
− |
| |
− |
| |
− | <!-- Pod2Wiki= -->
| |
− | <!-- Pod2Wiki=_postamble_ -->
| |
− | <!-- Edit below this comment -->
| |