2010-01-28 2 views
19

Java를 통해 PowerPoint 2007/2010 프레젠테이션을 생성/편집 할 수있는 API (상업용 또는 오픈 소스)를 아는 사람이 있습니까? 편집/업데이트해야하는 PowerPoint 2007/2010 형식의 템플릿이 있습니다. 지금까지 .pptx 파일을 xml로 변환 한 다음 편집하고 .pptx로 다시 저장했습니다. 그러나 파일을 열면 손상됩니다.Java를 사용하여 PowerPoint 2007/2010 파일 생성

Java에서이 작업을 수행하는 다른 방법이나 API를 알고있는 사람이 있습니까?

+0

나는 실제로 저장 중 손상된 것으로 간주하고 열 때 메시지를 받았다고 가정합니다. 즉, OpenOffice.org는 Java 기반입니다 ... –

답변

5

예. 이것을 확인해보십시오 http://poi.apache.org/, 그들은 방금 Office 2007 형식 문서를 지원하는 버전 3.6을 발표했습니다. 가장 좋은 부분은 그것이 무료라는 것입니다!

7

docx4j (apache 라이센스)에는 pptx 문서를 열거 나 편집하거나 저장할 수있는 pptx4j 구성 요소가 포함됩니다.

9

우리는 그것을 프로그래밍 방식으로 수행했습니다. (잠시 후, 죄송합니다.) 도움을 드릴 수는 있지만 몇 가지 문제점에주의하십시오.

하나는 POI 프로젝트 (적어도 작년에 보았을 때)가 상당히 불완전하다는 것입니다. 그것은 우리가 원했던 하나의 기능인 PPTX 차트를 작성하지 않았습니다. 실제로 POI 사이트는 현재까지는 아니지만 PowerPoint 20087 형식 (http://poi.apache.org/slideshow/index.html)을 지원하지 않는 것으로 보입니다. 누구나이 프로젝트를 추천하지만, 우리의 평가는 Java를 통해 PowerPoint 2007 파일을 생성하는 것은 거의 쓸모가 없다는 것입니다. 귀하의 마일리지는 다를 수 있습니다.

Apose는 또한 우리가 그것을 볼 때 몇 가지 중요한 제한이있었습니다. PowerPoint 2007에서 차트를 사용하지 않으면 우리에게 문제가되지 않습니다.

또 다른 문제는 PowerPoint 2007이 상당히 버그가있을 수 있다는 것입니다. 우리는 많은 양의 프로 그램 생성 된 PPT 파일을 사용하여 잠김 현상을 일으켰지 만 테스트 할 때 PowerPoint 2007에서 만든 간단한 PPTX 문서 (예 : 코드가 아닌)로 충돌 및 잠금을 재현 할 수 있음을 발견했습니다.

마지막으로 우리는 다음을 수행했습니다. '템플리트'PowerPoint 파일을 폴더에 압축을 푼 다음 주문형 XML에 새 값을 채우고 압축하여 다양한 요소 이름을 바꿉니다. &은 다음과 같이 사용자에게 전달했습니다. 유효한 PPTX. 사람들이 파일을 편집 할 때 이상한 PowerPoint 충돌을 제외하고는 정상적으로 작동합니다. 시장이 있다면 코드를 웹 서비스 (예 : xml/csv -> PPTX)로 패키지화하거나 상업용 패키지를 함께 넣을 수는 있지만 무료로 제공하지는 않습니다.

0

템플릿 파일에서 PowerPoint 프레젠테이션을 생성하려면 PPT Templates을 사용할 수 있습니다.

이 라이브러리는 PPT 템플릿 내부 변수를 대체 할 유창 API 제공 :이 라이브러리를

try(FileOutputStream out = new FileOutputStream("generated.pptx")) { 
    new PptMapper() 
    .text("variable", "Hello") 
    .text("other_variable", "World!") 
    .processTemplate(PptTemplateDemo.class.getResourceAsStream("/title.pptx")) 
    .write(out); 
} 

을, 당신은 템플릿에 텍스트와 이미지를 처리 ​​할 수 ​​있습니다.