正確な位置がわからない場合は、いくつかのオプションがあります。
1)既存の画像を置き換えます。
このオプションを使用すると、テンプレートのオーバーハングを実際に行うことができます。アルファブレンディングなどを使用します。ファンシーを得る。 stamper.getUnderContent(1)
を使用し、透明な背景でテンプレートを構築した場合は、上記のコードで同じことができます。私はちょうどその前に助けるべきreplace an image questionに答えました。
新しいイメージは、すべてのプレースホルダイメージのグラフィック状態を継承します。 x、y、wid、hei、オプションのコンテンツグループ、透明性、すべての方法。
2)Acrobatのテンプレート(またはiTextと思われる)に注釈(フィールドは簡単にアクセスできます)を追加し、そのコードをx、y、wid、heiに提供するRECTを使用します。
// given the above stamper
AcroFields fields = stamper.getAcroFields();
PdfDictionary replaceAnnot = fields.getFieldItem("ReplaceMe").getMerged(0);
//we can remove the field from the PDF without breaking the info in replaceAnnot.
fields.removeField("ReplaceMe");
// rects are laid out [llx, lly, urx, ury]
PdfArray rect = replaceAnnot.getAsArray(PdfName.RECT);
float x = rect.getAsNumber(0).floatValue();
float y = rect.getAsNumber(1).floatValue();
float width = rect.getAsNumber(2).floatValue() - x;
float height = rect.getAsNumber(3).floatValue() - y;
上記の画像コードにこれらの座標を入力してください。