2016-05-11 6 views
0

私はPDF::Reportモジュールを使用しています。PDF :: Reportを使って単語の座標を取得する方法はありますか?

私はこれを試しましたが、私はテキストの位置を取得していません。

#!/usr/bin/perl 

use strict; 
use warnings; 

use PDF::Report; 

my $filename = "pdffile.pdf"; 
my $pdf  = new PDF::Report(File => $filename); 

my $pages = $pdf->pages(); 
print "$pages \n"; 

my $fname = $pdf->getFont(); 
print "$fname \n"; 

my $String = "APRÈS "; 

my $string_w = $pdf->getStringWidth($String); 
print "$string_w \n"; 

my ($hPos, $vPos) = $pdf->getAddTextPos($String); 
print "$hPos & $vPos \n"; 
+0

あなたは何をしたいのかを明確にする必要があります。あなたの質問を編集してください。既存のPDFを読み込み、そのドキュメント内の既存のテキストのページ寸法に関連して座標を取得するか、新しい空のPDFファイルを含む何か他のものを求めたいですか? – simbabque

+0

私は既存のpdfファイルの各文字の座標を取得する必要があります... @simbabque –

答えて

1

PDF::Reportモジュールは PDFファイルを作成するためです。現在の水平位置と垂直位置を維持し、addTextへの呼び出しでテキストが追加されます。それはそれはあなたが「という言葉の座標を取得する」によって何を意味するかは不明だ

getAddTextPosによって返される(そしてsetAddTextPosで変更されてもよい)の位置です。 getAddTextPosはパラメータをとりません。次のという単語が追加されない限り、座標が返されます。

+0

Borodin ...私はgetAddTextPosを試してみましたが、エラーを表示しています連結されていない値$ hPosを使用しています(pdf_report .pl line 34. –

+1

@selva:モジュールファイルを編集せずにこれらの警告の周りに何も表示されません。このドキュメントでは、いくつかの呼び出しパラメータを省略するように勧めていますが、コードでは正規表現のパターンを直接チェックするだけです。私はそれがちょうどひどくひどく書かれたモジュールだと思う。スーパークラス 'PDF :: API2'には気になる行' no warnings qw [deprecated recursion uninitialized] 'があります。 – Borodin

+0

ありがとうございます。既存のpdfの各文字の位置を取得する方法については、ファイルは親切に共有を意味する... @ Borodin –

関連する問題