-1

輪郭のある PdfTemplate を作成しました。今、私はそれを4回複製し、それぞれに異なる形状を配置したいと考えています. 私が今試しているのは:

PdfTemplate[] oRTA = new PdfTemplate[4];
for(int i=0; i<4; i++)
{
     oRTA[i] = (PdfTemplate)oTemplate.GetDuplicate(false);
}

oTemplate は私の標準の PdfTemplate オブジェクトです。問題は、上書きされた GetDuplicate メソッドを使用できないことである可能性があるため、キャストする必要があります (理由はわかりません)。私は簡単なポイントでこれを試しています:

oRTA[iTemplateIndex].Circle(oCmp.iXLocation, oCmp.iYLocation, 0.1f);
oRTA[iTemplateIndex].Stroke();

その結果、何も印刷されていません。試してみてください:

oTemplate.Circle(oCmp.iXLocation, oCmp.iYLocation, 0.1f);
oTemplate.Stroke();

動作します。

4

1 に答える 1

0

解決策は、テンプレートを複製するのではなく、テンプレートを 4 回 (4 つの異なるPdfTemplateオブジェクト) 作成してから、それぞれに必要なものを追加することです。おそらくそれが今では最良の選択肢であることはわかっていますが、それは正常に機能します。Bruno Lowagie によって与えられた解決策も適切なようです:)

于 2013-07-17T05:54:47.320 に答える