2014-12-30 3 views
0

으로 C# 코드에서 ITextSharp를 사용합니다. 나는 acrofields를 사용하여 양식으로 데이터를 채 웁니다. 나는 지금 막 비율을 배열하는 방법을 배웠다. 다음으로 숫자 서식을 지정하는 방법을 알아야합니다.itextSharp acrofields 형식을 숫자

Stream os = new FileStream(PDFPath, FileMode.CreateNew); 
PdfReader reader = new PdfReader(memIO); 
PdfStamper stamper = new PdfStamper(reader, os, '9', true); 
AcroFields fields = stamper.AcroFields; 
fields.SetField("Pgo", "1.0", "100%"); // Works fine 
fields.SetField("value", "1217000.000000", "$1,217,000"); // Drops Dollar sign and comma 

내가 뭘 잘못하고 있니?

+0

가능한 복제본 [itextpdf acrofields format as Percentage] (http://stackoverflow.com/questions/27695621/itextpdf-acrofields-format-as-percentage) –

+0

그 대답은 실제로 중복되지 않습니다. 이전 질문 ('//Works fine' 참조). 다른 현상에 대해 물어 보는 원래의 질문을 확장 한 것입니다 : // Drops Dollar sign and comma. 나는 그 문제가 재현 될 수 없다는 의미로 대답 할 것이다. 나는 또한 가능한 원인을 설명 할 것이다. –

+0

@Arne 결과 : 문제가 발생한 PDF가있는 경우 질문을 제공하십시오. – mkl

답변

0

예를 들어 FormatFields을 살펴보십시오. 이 예에서는 보통 필드를 몇 개 사용하여 일반 양식을 작성한 후이 필드를 사용자가 입력 한 것과 똑같은 방법으로 채 웁니다.

결과는 예상대로 같습니다

enter image description here

이 iText는 우리가 setField() 메서드에 전달 된 display 매개 변수에 따라 두 모습 (위젯 주석의 /AP 항목)을 만들었습니다. 한 필드는 "100 $"을 표시하고 다른 필드는 "$ 1,217,000"을 표시합니다. 보시다시피 (자신에게 here을 확인하십시오) 달러 기호와 쉼표가 있습니다.

그러나 해당 필드 중 하나를 클릭하면 iText로 만든 모양이 사라지고 필드 값 (/V)에 따라 Adobe Reader 또는 다른 PDF 뷰어에서 만든 모양으로 바뀝니다 필드 사전 입력) : "1.0"또는 "1217000.000000". 이는 예상되는 동작입니다.

귀하의 주장이 잘못되었다고 주장하는 것이 아니라 양식에 귀하의 value 필드에 포커스를 설정하는 JavaScript가있을 수도 있습니다. 어쩌면 value 필드를 포맷하는 일부 JavaScript를 수행하는 공개 조치가있을 수 있습니다. 아마도 뭔가 다른 것이있을 테지만 어떤 경우 든 : 당신이 묘사하는 현상의 이유는 당신의 형태 어딘가에 묻혀 있습니다. 그것은 iText에 의해 야기 된 문제가 아닙니다. 나의 예제는 질문 itextpdf acrofields format as Percentage에 대한 대답이 통화 가치에 대해서도 작용한다는 것을 증명합니다.

+0

답변 해 주셔서 감사합니다. 당신의 본보기가 나를 위해 일하지 않습니다. 나는 조사 할 것이다. – Arne

+0

예에서는 Acrobat 내장 형식 지정 속성을 사용하지 않습니다. – Arne

+0

iText는 JavaScript를 해석하지 않으므로 iText에 의해 트리거되지 않습니다. 양식을 공유하지 않았기 때문에 사전 준비된 'AF_' 기능 중 어떤 것이 사용자의 양식에서 작동하는지 알 수있는 방법이 없었습니다. –