생성 된 바코드 파일을 기반으로 이미지를 삽입해야합니다.이미지를 PDF로 삽입하려고 시도했습니다. #
내가 일반적으로 텍스트를 입력 할 수있는 iTextSharp 라이브러리를 사용하는 경우 데 문제 등
PdfReader pdfReader = new PdfReader(oldFile);
PdfStamper pdfStamper = new PdfStamper(pdfReader, outFile);
AcroFields fields = pdfStamper.AcroFields;
fields.SetField("topmostSubform[0].Page1[0].BARCODE[0]", "X974005-1");
내가 그것에 클릭하면 PDF로가에 이미지 나 메시지를 표시 한 필드가 비록 필드에 삽입 할 수 있지만 프로그래밍 방식으로 수행 할 수 없습니다. 일부 구글 검색을하고, 유래 페이지에 걸림돌을 바탕으로, 내가 원하는대로 작동 할 것으로 예상 다음 코드를 삽입 :
string fieldName = "topmostSubform[0].Page1[0].BARCODE[0]";
string imageFile = "test-barcode.jpg";
AcroFields.FieldPosition fieldPosition = pdfStamper.AcroFields.GetFieldPositions(fieldName)[0];
PushbuttonField imageField = new PushbuttonField(pdfStamper.Writer, fieldPosition.position, fieldName);
imageField.Layout = PushbuttonField.LAYOUT_ICON_ONLY;
imageField.Image = iTextSharp.text.Image.GetInstance(imageFile);
imageField.ScaleIcon = PushbuttonField.SCALE_ICON_ALWAYS;
imageField.ProportionalIcon = false;
imageField.Options = BaseField.READ_ONLY;
pdfStamper.AcroFields.RemoveField(fieldName);
pdfStamper.AddAnnotation(imageField.Field, fieldPosition.page);
난을 열 때, 의도 한대로 기존 필드를 제거하는 동안 나는 데 문제는 새로 만든 PDF 파일이 새로운 푸시 버튼 필드가 의도 된 이미지 파일과 함께 표시되지 않고 공백으로 표시되지만 디버그 모드를 통해이 작업을 수행하면 이미지 파일의 정확한 크기를 파악할 수 있습니다. 여기서 내가 뭘 잘못하고 있는지 모르겠다.
감사합니다.
감사 브루노, 매력처럼 일했습니다. – jfalberg