Line ParserによるPerl PDF行?
-
14-11-2019 - |
質問
私はPDFを持っていて、特別なキャラクターやイメージなどのテキストのみで構成されています。 各ページ行を行で解析するのを助けるために、それ以外のPerlモジュールはありませんか? (PDFをテキストに変換すると、結果が悪い結果と解析できないデータが得られます)
ありがとう、
解決
When I want to extract text from a PDF, I feed it to pdftohtml
(part of Poppler) using the -xml
output option. This produces an XML file which I parse using XML::Twig (or any other XML parser you like except XML::Simple).
The XML format is fairly simple. You get a <page>
element for each page in the PDF, which contains <fontspec>
elements describing the fonts used and a <text>
element for each line of text. The <text>
elements may contain <b>
and <i>
tags for bold and italic text (which is why XML::Simple can't parse it properly).
You do need to use the top
and left
attributes of the <text>
tags to get them in the right order, because they aren't necessarily emitted in top-to-bottom order. The coordinate system has 0,0 in the upper left corner of the page with down and right being positive. Dimensions are in PostScript points (72 points per inch).