내 방법은 내가 cannot implicitly convert type system.collections.generic.IList<Itextsharp.text.pdf.acrofields.fieldposition> to float array
형식 변환 예외
누군가 어떻게 변환하는 말해 오류가 발생했습니다 라인
float[] fieldPosition = _pdfStamper.AcroFields.GetFieldPositions(field);
에서
private void _fillText(string field, List<TextPart> parts, int alignment)
{
//fieldPosition: page, llx, lly, urx, ury
float[] fieldPosition = _pdfStamper.AcroFields.GetFieldPositions(field);
PdfContentByte pdfContentByte = _pdfStamper.GetOverContent(fieldPosition[0]);
foreach (TextPart tp in parts)
{
ColumnText myColumn = new ColumnText(pdfContentByte);
myColumn.RunDirection = _runDirection;
//if (_runDirection == PdfWriter.RUN_DIRECTION_RTL)
// tp.Font = _arialBlackFont12;
myColumn.SetSimpleColumn(Convert.ToInt32(fieldPosition[1]) + tp.LeftMargin
, fieldPosition[2]
, fieldPosition[3] - tp.RightMargin
, fieldPosition[4] - tp.TopMargin);
Phrase myPhrase = new Phrase(new Chunk(tp.Text));
//myPhrase.Font = font;
Paragraph myParagraph = new Paragraph();
myParagraph.Font = tp.Font;
myParagraph.Font.SetStyle(tp.FontStyle);
if (tp.Font == _lucidaSansGray60Font9)
myParagraph.Leading = 10;
if (tp.Leading != null)
myParagraph.Leading = tp.Leading.Value;
myParagraph.Alignment = alignment;
myParagraph.Add(myPhrase);
myColumn.AddElement(myParagraph);
myColumn.Go();
}
}
입니다. 나는 전환에 기초한 나의 모든 논리를 가지고있다.
'플로트 [] FieldPosition와 = _pdfStamper.AcroFields.GetFieldPositions (필드) ALL 기타 사항 서보 -OFF (POS => // float을 반환하는 논리를 수행하십시오.) .ToArray();' –
@SepehrFarshid *'... Select (...)'* - 원래 목록의 각 필드 위치 인스턴스가 * 5 * 수레로 확장 될 수 있습니다. – mkl
그런 다음'SelectMany'를 사용하십시오! : D –