2014-07-07 2 views
1

문제 : 문서 (템플릿)의 집합이생성 된 PDF 파일 앱

매뉴얼, 라이센스 계약 또는 중 하나에 저장할 수있는 광고 물과 같은 사람을 마케팅에 의해 작성 MS 오피스 2007에 의해 지원되는 포맷. WS 요청 중에 나는 문서의 내용을 수정 (예 : 빈 필드 채우기)하고 그들을 기반으로 PDF 파일을 생성해야합니다.

우리 회사는 어떤 가정은 다음이 XSL-FO와에 XSLT를 사용하여 채워 및 변환이 하나

<section> 
    <header>Regulamin</header> 
    <content> 
    <numbered-list> 
     <list-item>Bla bla <caption>bold something</caption></list-item> 
    </numbered-list> 
    </content> 
</section> 

처럼 더 많거나 적은 XMLS를 만들어 쓰는 저를 강제하는 아파치 ™ FOP를 사용하는 문제가있다 마지막으로 이것은 PDF로 변환됩니다. 진짜 고통은 Word 문서를 XML로 수동 변환해야한다는 것입니다.

누구든지 Word 문서를 기반으로 PDF 생성을 처리하는 더 좋은 방법을 알고 있습니까?

+1

WordML/Word의 XML 형식을 저장하고 해당 파일의 정보를 대체하는 코드를 작성할 수 있습니다. 그런 다음 RenderX의 WordML을 XSL FO 변환으로 사용할 수 있습니다. http://www.renderx.com/tools/word2fo.html. 그러나, 나는 이것이 아파치 FOP가 지원하지 않는 일을한다고 말할 수있다. –

+0

한 가지 질문 ... 변경 사항은 문서의 흐름에 어떤 방식 으로든 영향을 줍니까? 아니면 절대 위치에서 고정 된 문서 위에 데이터를 스탬핑하는 모든 변경 사항이 있습니까? –

+0

대부분 날짜, 고객 세부 정보, 주소와 같은 고정 된 필드가 있지만 사용자 요구 사항에 따라 라이센스가 다를 수있는 경우 문서 플로우를 변경할 준비가되어 있어야합니다. –

답변

0

사실이 도구 만 JODConverter sounds 정말 유망한, 상업용으로

File inputFile = new File("document.doc"); 
File outputFile = new File("document.pdf"); 

// connect to an OpenOffice.org instance running on port 8100 
OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100); 
connection.connect(); 

// convert 
DocumentConverter converter = new OpenOfficeDocumentConverter(connection); 
converter.convert(inputFile, outputFile); 

connection.disconnect(); 
+0

좋은 소리가 나는데 중간에있는 문서를 수정할 수 있다면 –

+1

아뇨, 추측하면 아빠 POI 같은 것을 사용해야 할 것입니다 ... –

+0

불행히도 "OpenOffice.org가 실행 중이어야합니다 JODConverter의 서비스로 작동합니다. " : –

1

처럼 자바 코드에서 직접 (일부 일괄 변환을 예약하는 것이 유용 할 수 있습니다) 콘솔에서 실행하거나 할 수 있습니다를 해본 적이 응용 프로그램 내 회사, 당신은이를 검사 할 수 있습니다 않았다 플러그인으로

http://www.xportability.com/Software.xhtml

을, 당신은 당신이 T로 연결 간단한 XML 컨텐츠에서 필드를 추가, Word에서 Word 문서를 열 수 있습니다 그의 (지금) 템플릿 Word 문서. 템플릿을 XSL FO를 생성하는 XSL로 내 보냅니다.

그런 다음 사용자 제출 자료의 XML을 해당 템플릿과 결합하여 엔진이 PDF로 처리 할 수있는 새 XSL FO를 얻을 수 있습니다.

+0

좋은 도구처럼 보이지만 실제로는 베타 버전입니다. 사실 안정적인 장기적인 해결책을 찾고 있습니다. ( –

+2

댓글 허용 및 환영합니다 :) 사실 제품 자체는 생성 된 서비스 조직의 내부 도구 세트로 사용되었습니다 당신이 서비스라고 언급 한 것과 같은 템플릿이 있습니다. 당신이 묘사 한 바가 그것이 산들 ​​바람입니다. 우리는 상점 정면, 최종 라이센스 메커니즘 및 제품 수준의 사용자 문서를 얻지 못했기 때문에 베타 버전입니다. 우리는 바빴습니다. 어쨌든 FOP를 사용하는 데 문제가있을 수 있으므로 해결하기에는 너무 많은 영역에서 실패하므로 테스트하지 마십시오. –