17.05.2014 Views

PDFlib Text Extraction Toolkit (TET) Manual

PDFlib Text Extraction Toolkit (TET) Manual

PDFlib Text Extraction Toolkit (TET) Manual

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.7 Perl Binding<br />

Installing the <strong>TET</strong> Edition for Perl. <strong>TET</strong> is implemented as a C library which can dynamically<br />

be attached to Perl. This requires Perl to be built with support for loading extensions<br />

at runtime. The name of the <strong>TET</strong> Perl extension is tetlib_pl.<br />

Installing the <strong>TET</strong> Edition for Perl. The Perl extension mechanism loads shared libraries<br />

at runtime through the DynaLoader module. The Perl executable must have been<br />

compiled with support for shared libraries (this is true for the majority of Perl configurations).<br />

For the <strong>TET</strong> binding to work, the Perl interpreter must access the <strong>TET</strong> Perl wrapper<br />

and the module file tetlib_pl.pm. In addition to the platform-specific methods described<br />

below you can add a directory to Perl’s @INC module search path using the -I command<br />

line option:<br />

perl -I/path/to/tet extractor.pl<br />

Unix. Perl will search both tetlib_pl.so (on Mac OS X: tetlib_pl.dylib) and tetlib_pl.pm in<br />

the current directory, or the directory printed by the following Perl command:<br />

perl -e 'use Config; print $Config{sitearchexp};'<br />

Perl will also search the subdirectory auto/tetlib_pl. Typical output of the above command<br />

looks like<br />

/usr/lib/perl5/site_perl/5.8/i686-linux<br />

Windows. <strong>PDFlib</strong> supports the ActiveState port of Perl 5 to Windows, also known as<br />

ActivePerl. Both tetlib_pl.dll and tetlib_pl.pm will be searched in the current directory, or<br />

the directory printed by the following Perl command:<br />

perl -e "use Config; print $Config{sitearchexp};"<br />

Typical output of the above command looks like<br />

C:\Program Files\Perl5.8\site\lib<br />

Exception Handling in Perl. When a <strong>TET</strong> exception occurs, a Perl exception is thrown. It<br />

can be caught and acted upon using an eval sequence:<br />

eval {<br />

...some <strong>TET</strong> instructions...<br />

};<br />

die "Exception caught: $@" if $@;<br />

28 Chapter 3: <strong>TET</strong> Library Language Bindings

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!