I am attempting to convert the contents of several PDF files into plain text. I have read through a number of threads on here, and on other sites, that attempt to do this. So far, nothing has worked. While I may get the occasional word amongst the gibberish, none of them come close to doing the job. Here is a glimpse of the things I have already tried:
Attempt 1:
use Text::FromAny;
my $pdf_file = "foo.pdf";
my $obj = Text::FromAny->new(file => $pdf_file);
my $text = $obj->text;
print $text;
Attempt 2:
use CAM::PDF;
my $pdf_file = "foo.pdf";
my $obj = CAM::PDF->new($pdf_file) || die "$CAM::PDF::errstr\n";
my $txt = $obj->getPageText(1);
CAM::PDF->asciify(\$txt); # same results without this statement.
print $txt;
Attempt 3:
use CAM::PDF;
use CAM::PDF::PageText;
my $pdf_file = "foo.pdf";
my $obj = CAM::PDF->new($pdf_file) || die "$CAM::PDF::errstr\n";
my $tree = $obj->getPageContentTree(1);
my $txt = CAM::PDF::PageText->render($tree);
CAM::PDF->asciify(\$txt); # same results without this statement.
print $txt;
Attempt 4:
Use the getpdftext.pl source at https://metacpan.org/pod/distribution/CAM-PDF/bin/getpdftext.pl
Any other ideas?
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|