2017-05-09 17 views
0

pdf가 있습니다. XFA : 데이터 세트의 노드는 다음과 같습니다빈 xfa : datasets 및 dd : DataDescription 노드가없는 LiveCycle 11에서 XFA 양식 채우기

<xfa:datasets xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/"><xfa:data xfa:dataNode="dataGroup" /></xfa:datasets> 

따라서 나는 기본 스키마에 대한 정보를 추출 할 수 없다, 그래서 나는이를 채우기 위해 XML을 생성 할 수 없습니다.

PDF로는 다음과 같은 방식으로, 테이블에 행을 추가하는 자바 스크립트를 사용하여 다음 Xfa.TemplateSom에 iTextSharp를 사용하여

this.resolveNode('document_table.Table3._user_input').addInstance(1);

, 나는 폼 요소에 대한 참조를 찾을 수 있습니다. DomDocument에서 xml의 다양한 요소를 검색하고 찾을 수는 있지만 여기서는 내가 붙어 있습니다. XFA 데이터와 아무런 관계가없는 것으로 보이며 XFA Worker 데모를 시도했으며 데모에서는 PDF에 XFA 데이터가 없음을 확인했습니다.

XFA가 아니고 AcroFields가 아닌 경우 어떤 형식인지 확실하지 않습니다.

브루노, 너의 책을 샀어. 내가 읽지 못했지만, 내가 말할 수있는 한이 시나리오를 다루지는 않는다. 이 유형의 양식을 채울 수있는 방법에 대한 모든 통찰력을 주셔서 감사하겠습니다.

바로 지금, 나는 행동을 모방하고 데이터를 설정하는 javascript를 추가해야하는지 궁금합니다. 서로 다른 레이아웃을 가진 여러 형식이 있기 때문에 수동으로 계층 구조를 가져오고 자체적으로 자바 스크립트를 복제하는 것은 모두 번거롭고 솔직히이 방법이 성공할 지 확신하지 못합니다.

+0

브루노 (Bruno)의 답변 만 원하십니까? 아니면 다른 사람들도 회신 할 수 있습니까? –

+0

누구나 회신 할 수 있습니다, 나는 그저 필요하다면 그 사람이 iText 질문 수비 시스템입니다! :) – Erikest

답변

2

이 양식은 XFA 양식이며 DataDescription이 누락되었다는 사실은 안타깝지만 이상하지 않습니다. 데이터에 대한 설명은 선택 사항이며 필수는 아닙니다.

iText로 양식을 작성하려는 경우 JavaScript를 잊어서 행을 추가하지 않아야합니다. 사용자가 행 단위로 데이터를 입력하고 수동으로 행을 추가하는 수동 데이터 입력과 XML 데이터의 형태로 데이터를 제공하는 자동화 된 데이터 입력을 혼동해서는 안됩니다. 행이있는 테이블이 있으면 소스 XML에 데이터 행만큼 많은 행이 해당 행에 채워집니다.

실제 질문은 데이터 설명이 없으면 어떻게 작성합니까?

  • 이상적인 방법이있다 : 당신은 데이터의 스키마에 대한 양식을 만든 사람에게 문의하십시오. 그 또는 그녀는 양식을 만들 때 데이터 소스를 제공하여 데이터를 XML로 구성하는 방법을 알고 있습니다. 불행히도 양식을 만든 사람들에게 항상 접근 할 수있는 것은 아닙니다.
  • 어려운 방법이 있습니다. XFA XML을 검사하고 템플릿의 데이터 바인딩을 살펴 봅니다. XFA 사양이 필요할 것입니다. 누군가 내가 커프스에서 물어 봤다면 어디에서 시작해야할지 모르겠다.
  • 실용적인 방법이 있습니다 : 이것은 항상 제가 사용하는 해결 방법입니다. 필자는 Adobe Acrobat에서 수동으로 양식을 작성합니다. 가능한 모든 필드를 채운 다음 채워진 양식을 저장합니다. 그런 다음 데이터 XML을 추출합니다. 그 데이터 XML을 사용하여 XSD를 만듭니다 (거기에는 도구가 있습니다). 이것은 나에게 XFA 양식에 의해 예상되는 데이터 설명의 근사치를 제공합니다.분명히이 XSD는 양식에 추가 된 모든 규칙과 제한 사항을 포착하지 못할 수도 있기 때문에 완벽하지는 않습니다. 그러나 발생한 대부분의 경우 충분합니다 (충분하지 않을 때 약간의 미세 조정 XSD에 트릭을했다.)

XML의 예상되는 구조를 알았 으면 JavaScript에 대해 걱정할 필요가 없습니다. 사용자 작업을 처리 할 JavaScript는 자동 양식 채우기와 관련이 없습니다. iText로 XFA 양식을 작성하는 맥락에서 중요한 JavaScript는 데이터 형식을 자동으로 지정하는 JavaScript입니다 (예 : 날짜, 통화 등).

+0

네, 분명히 자바 스크립트 추가 경로를 따라야하고 싶지 않았지만 옵션에 데이터 설명이 없음을 알 수 없었습니다. 이상적인 방법은 나를 위해 가능할 수 있습니다, 나는 약간의 레버를 꽤 세게 눌러야 할 것입니다. 그러나 XML 데이터 소스를 지정하지 않고 양식으로 필드를 작성한 것일 수 있습니까? TemplateSom과 javasript가 먼저 xml 스키마 나 소스 문서를 의도적으로 생성하여 도착하기에 이상한 필드 계층 구조를 나타 내기 때문에이 질문을 던집니다. – Erikest

+0

실용적인 방법은 이전에 사용했지만 DataDescriptions 요소도 가능하다는 것을 인식하지 못했고 간단한 양식의 경우 작은 숫자로도 효과가있었습니다. 이 경우 수백 가지 정도의 복잡성이 시작될 수 있으며, 2 년마다의 변화와 함께 어느 순간에 더 많은 것을 쌓을 수 있으므로 많은 수동 양식 작성을 필요로하지 않는 솔루션을 기대하고 있습니다. 이와 관련하여 폼 디자이너가 LiveCycle Designer에 DataDescription 요소를 포함시키고 양식의 현재 상태를 유추하도록 알릴 수있는 방법이 있습니까? – Erikest

+0

XFA 양식이 필드 *로 채워질 수도 있지만 양식을 작성하는 데 매우 성가신 방법으로 느껴지는 저와 아마도 여러분에게도 가능할 수 있습니다. LiveCycle Designer에 DataDescription을 포함 시키거나 사실 이후에 LiveCycle Designer를 만들려면 LiveCycle Designer를 사용하여 해당 질문에 대답 할 수 있습니다. 아마도 @rhens는 알고 있겠습니까? –