2009-08-28 13 views
0

私はpdfファイルを生成するvb.netにいくつかのコードを書いています。私はpdfファイルにテキストと画像を配置するつもりです。試行錯誤する代わりに、ピクセル座標を使ってテキストと画像の位置を決めて、私はpdfファイル上の何かの座標を正確に知りたいと思っています。例えば、私はpdfファイルの上にマウスを移動したいと思いますし、マウスの位置のピクセル座標を自動的に表示します。測定ピクセル

質問は、私のマウスがどこにあるかの座標を私に例を示すvb.netなどのツールですか?

+1

私は知っていることは、ピクセル(ドット)とインチの間にある有名な "DOTS PER INCH"またはDPIの関係があることです。あなたのイメージをインチ*で表したい場所がわかっているなら、PDFページのDPIで単純にそれを掛けることができます。それはPDFで同様に動作するので、プリンタで印刷するための有効な手順です、私はそれが動作するようにbeleave。 – Havenard

答えて

1

私はこれを行うツールを実装するまでに、トレイルとエラーの方法で完了している可能性があります。

私は同じことを(iTextSharpを使って)しなければならなかったとき、私はフォーム上の任意の位置、例えばx = 100、y = 100にテキストを書き込むことから始めました。 PDF上で調整しました。これを少ししたら、次のポイントがどんな座標にあるべきかを知ることができます。

TIP#1:
底があなたの文書の左側0,0参照ことを覚えておいてください。これらの数字が増えるにつれて、文書内の右上にあなたの位置が上がります。

ヒント2:
PDFのコンテンツが縦軸と横軸にどのように並んでいるか考えてみましょう。これらの値を見つけ、それらをプログラムの定数として宣言し、コード上でこれらの定数を参照してください。これは、あなたが見つける必要があるポイントの数を減らし、プログラムをより読みやすくします。

たとえば、私が構築している文書では、水平に走る行(一般的なy軸の値を考える)と垂直に並んだ行(一般的なx軸の値を考えている)の数を持つテキスト形式です。

だからライン分のY軸位置を決定し、(C#で)このようにそれらを宣言:

const float Line1Y = 200f; 
const float Line2Y = 150f; 
//etc. 

Iはまた、ボックスのx軸位置を決定し、同様にそれらのX軸の値を宣言この:私のコードでは

const float Column1X = 100f; 
const float Column2X = 200f; 
//etc. 

それは私の要素を配置する時間が来たとき、私はこのような定数と呼ば:

content.SetTextMatrix(Column1X, Line1Y); 
content.SetTextMatrix(Column2X, Line1Y); 
content.SetTextMatrix(Column1X, Line2Y); 
+0

ありがとうございます、直接ご連絡することは可能ですか? –

+0

ここにQ/Aを置いておくのが最善でしょう。このようにすれば、私よりもあなたの質問に答える資格のある人が多くなり、私(または他の誰か)が与えるすべての回答を批評することができます。 –

1

Acrobat Professionalには距離ツールもあり、Enfocus PDFインスペクタを試すことができます。測定ツールもあり、両方とも要件に合致します。両方とも試用版を試すことができる有料のソフトウェアです。私は両方とも30日間の試用が可能だと思います。