PdfStamper
クラスを使用して、iTextSharpと.NET 3.5 SP1(C#では推測できるように)で既存のPDFを変更しています。iTextSharpを使用して異なるPDFの座標系と置き換えられたテキストの問題
座標系
の変換、私はそれを見ると、iTextSharpは、測定の単位として(ポストスクリプト?)ポイントを使用しているが、私はこれらの座標を変換したい:今、私は2つの問題を持っていますミリメートル。今、これを達成する最良の方法はどうですか?私は変換行列の権利を得た願っています
PdfContentByte cb = new PdfContentByte();
System.Drawing.Drawing2D.Matrix scale = new System.Drawing.Drawing2D.Matrix(
0.352777778, 0, 0.352777778, 0, 0, 0); // 1 point = 0.352777778 mm
cb.Transform(scale);
:ドキュメントの外観を撮影
は、次のアプローチを明らかにしました。しかし、問題は:System.Drawing.Drawing2D
アセンブリがありません!このアセンブリが落ちたのか、それとも何が起こったのですか? iTextSharpの座標をミリメートルに変換するにはどうすればよいですか?私はここで間違った方法でですか? PDFで
テキストが同じ座標
私は、同じ内容で二つの異なる PDFファイルを変更しながら、同じ座標がずれてしまったことに気づいて、テキストを使用して別のPDFに変位します正確に同じ位置に配置されていません。これを引き起こしていると私はそれを防ぐことができますか?
alt text http://i41.tinypic.com/20u5tfc.gif
これは、iTextSharpに正確に同じ座標を使用して作成した第二のPDFである:すべてのヘルプを理解され
alt text http://i44.tinypic.com/2qjzoex.gif
これは、最初のPDFです。
このクラスはどのように使用しますか?私はすでに "using System.Drawing;"を挿入しました。しかし、それでもSystem.Drawing.Drawing2D.Matrixは認識されません。私は "System.Drawing.dll"が何を意味するのか分かりません。これを他の方法で含める必要がありますか? –
System.Drawing.Dllを参照する必要があります。プロジェクトでReferencesフォルダを探します。右クリックし、参照を追加し、5分後に最初のタブでSystem.Drawing.Dllを検索します。今私の2点を返せ! – Will
参照したら、例のように使用することができます。彼らは行列の変換を行っていますが、これは学習や理解が最も簡単なことではありません。サンプルコードよりも多くのことをしたいのであれば、自分で読んでいく必要があります。私は恐れています。 – Will