문제

과도하게 복잡한 신청서로 볼 수있는 웹 응용 프로그램을 구축했습니다. 주어진 문자 제한이있는 텍스트 영역이 많이 있습니다. 양식 제출 후 다양한 일이 발생하고 그 중 하나는 PDF 생성입니다.

텍스트는 DB에서 쿼리되고 Ireports에서 생성 된 PDF 템플릿에 삽입됩니다. 이것은 잘 작동하지만 주요 고통은 텍스트가 넘쳐나는 것입니다.

최대 문자 수는 '평균'텍스트에 따라 설정됩니다. 그러나 때때로 사람들은 캡으로 글을 쓰거나 텍스트를 형식화하기 위해 많은 라인 피드를 추가하는 것을 선호합니다. 그런 다음 사용자의 텍스트가 PDF에 주어진 공간을 오버 플로우하게합니다. 불행히도 PDF 문서는 실제 신청서처럼 보이므로 무제한 공간을 허용 할 수 없습니다.

이것을 다루기 위해 어떤 종류의 접근법을 사용 했습니까?

  • 사용자 입력을 청소/제한?
  • 글꼴 메트릭을 기반으로 텍스트의 공간 요구 사항을 계산 하시겠습니까?
  • PDF의 미리보기를 제공 하시겠습니까? (너무 나쁜 사용자는 제출 후 입력을 변경할 수 없습니다 ...)
도움이 되었습니까?

해결책

이상적으로는 메트릭을 기반으로 요구 사항을 계산하십시오. iReports가 텍스트를 처리하는 방법을 모르겠지만 ITEXT를 사용하면 모든 것을 자체적으로 만들고 데이터를 스트리밍 문서로 제시하므로 텍스트가 넘치는 것에 대해 걱정하지 않습니다.

그러나 IREPORT는이를 지원하지 않을 수도 있거나 특정 한계 내에 PDF 레이아웃이 맞아야 할 수도 있습니다. 입력을 청소하려고 노력하십시오 (즉, 모든 캡, 소문자/문장 케이스/적절한 케이스 인 경우), 추가 공백을 벗겨냅니다. 입력을 청소하는 것을 안정적으로 할 수 없거나 사람들이 여전히 지나치게 지나고 있다면, 나는 또한 그것을 제한 할 것입니다.

최후의 수단으로서, 나는 사용자가 승인 할 PDF를 발표했습니다. 실제로, 사용자에게는 더 많은 노력을 기울여서는 안되며 어쨌든 그렇게하지 않을 것입니다.

다른 팁

문제에 대한 자신의 제안 된 솔루션이 모두 좋습니다. 아마도 대답해야 할 가장 중요한 질문은 필드에 표시 될 데이터가 맞지 않을 때 PDF가 어떻게 생겼을까요? 다른 것에 대한 "완전한 답"이 필요한 적이 있습니까? 이것에 대한 답을 알면 옵션이 줄어 듭니다.

예를 들어 필드가 페이지 1/2로 제한되어야하고 사용자는 때때로 텍스트 페이지 1/2 이상을 입력하는 경우 1) 사용자 입력을 제한 할 수 있습니다. 말하고 수정 될 때까지 제출물을 거부하십시오. 이는 사용자가 데이터 입력을 줄 이도록 합법적으로 강요 할 수 있다고 가정합니다. 2)이 보고서의 표시에서 사용자 입력을 수락하고 잘라냅니다. 일부 시스템은 "..."를 사용하여 데이터를 잘라 냈으며 더 많은 정보를 얻기 위해 하이퍼 링크 (PDF 내에서도)를 제공 할 수 있습니다.

미리보기를 제공하는 것은 실제로 잘 작동하지만 사용자가 확인하고 수정하는 데 능숙하고 시스템이 생성되는 추가 부하를 처리 할 수있는 경우에만 가능합니다.

PDF를 생성 할 때 사용되는 글꼴을 제어 할 수 있습니까? 그렇다면, 나는 모국어 가족에서 글꼴을 찾을 것입니다. 이렇게하면 펑크, 대문자 등에 관계없이 주어진 수의 숯에 대한 일관된 길이가 제공됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top